// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.kotlin.idea.debugger.test.dex

import org.jetbrains.kotlin.idea.debugger.test.mock.MockMethodInfo

@Suppress("SpellCheckingInspection")
class KotlinInlineCallStackTest : AbstractLocalVariableTableTest() {
    // ZipUtilKt.withZipFileSystem in ZipUtil.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/util-io/src/org/jetbrains/kotlin/konan/file/ZipUtil.kt#L59
    //
    // The breakpoint is in `use` in File.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/util-io/src/org/jetbrains/kotlin/konan/file/File.kt#L224
    fun testZipUtilKtWithZipFileSystem() {
        doKotlinInlineStackTest(
            codeIndex = 65, // File.kt:224
            methodInfo = MockMethodInfo(
                name = "withZipFileSystem",
                sourceNames = arrayOf(
                    "ZipUtil.kt",
                    "File.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/konan/file/ZipUtilKt",
                    "org/jetbrains/kotlin/konan/file/FileKt"
                ),
                variableNames = arrayOf(
                    "e\$iv:Ljava/lang/Exception;",
                    "closed\$iv:Z",
                    "\$this\$use\$iv:Ljava/lang/AutoCloseable;",
                    "\$i\$f\$use:I",
                    "\$this\$withZipFileSystem:Lorg/jetbrains/kotlin/konan/file/File;",
                    "create:Z",
                    "action:Lkotlin/jvm/functions/Function1;"
                ),
                allLineLocations = intArrayOf(
                    14,  59,  59,  0,
                    26,  93,  218, 1,
                    29,  94,  219, 1,
                    30,  95,  220, 1,
                    39,  104, 229, 1,
                    40,  105, 230, 1,
                    56,  95,  220, 1,
                    59,  96,  221, 1,
                    61,  97,  222, 1,
                    64,  98,  223, 1,
                    65,  99,  224, 1,
                    82,  100, 225, 1,
                    84,  101, 226, 1,
                    84,  102, 227, 1,
                    92,  104, 229, 1,
                    97,  105, 230, 1,
                    114, 59,  59,  0,
                ),
                localVariableTable = intArrayOf(
                    61,  29,  6,   0,
                    29,  85,  5,   1,
                    23,  91,  3,   2,
                    26,  88,  4,   3,
                    0,   115, 0,   4,
                    0,   115, 1,   5,
                    0,   115, 2,   6,
                ),
                kotlinDebugSegment = intArrayOf()
            ),
            expectation = """
                withZipFileSystem at ZipUtil.kt:59 depth 0:
                  ${'$'}this${'$'}withZipFileSystem: Lorg/jetbrains/kotlin/konan/file/File;
                  action: Lkotlin/jvm/functions/Function1;
                  create: Z
                use at File.kt:224 depth 1:
                  ${'$'}this${'$'}use${'$'}iv: Ljava/lang/AutoCloseable;
                  closed${'$'}iv: Z
                  e${'$'}iv: Ljava/lang/Exception;
            """.trimIndent()
        )
    }

    // FirDeclarationsResolveTransformer.transformField in FirDeclarationsResolveTransformer.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt#L205
    //
    // This test checks the inline call stack construction, but the debug information is
    // missing the `field` local for the argument to `withField` and the `declaration` local from
    // the argument to `withContainer`. This is due to an optimization in the inliner which we
    // can't disable since Kotlin lacks a separate debug mode.
    fun testFirDeclarationsResolveTransformerTransformField() {
        doKotlinInlineStackTest(
            codeIndex = 226, // line 212
            methodInfo = MockMethodInfo(
                name = "transformField",
                sourceNames = arrayOf(
                    "FirDeclarationsResolveTransformer.kt",
                    "FirAbstractBodyResolveTransformer.kt",
                    "FirPartialBodyResolveTransformer.kt",
                    "BodyResolveContext.kt",
                    "fake.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer",
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer",
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirPartialBodyResolveTransformer",
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext",
                    "kotlin/jvm/internal/FakeKt"
                ),
                variableNames = arrayOf(
                    "\$i\$f\$getDataFlowAnalyzer:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer;",
                    "\$i\$f\$getContext:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirPartialBodyResolveTransformer;",
                    "\$i\$a\$-withField-FirDeclarationsResolveTransformer\$transformField\$1\$1:I",
                    "\$i\$a\$-let-BodyResolveContext\$withField\$1\$1\$1\$1\$iv:I",
                    "it\$iv:Lorg/jetbrains/kotlin/fir/scopes/impl/FirLocalScope;",
                    "\$i\$a\$-withTowerDataCleanup-BodyResolveContext\$withField\$1\$1\$1\$iv:I",
                    "\$i\$f\$withTowerDataCleanup:I",
                    "initialContext\$iv\$iv:Lorg/jetbrains/kotlin/fir/declarations/FirTowerDataContext;",
                    "this_\$iv\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;",
                    "\$i\$a\$-withContainer-BodyResolveContext\$withField\$1\$1\$iv:I",
                    "\$i\$f\$withContainer:I",
                    "\$i\$a\$-withTowerDataMode-BodyResolveContext\$withField\$1\$iv:I",
                    "\$i\$a\$-withTowerModeCleanup-BodyResolveContext\$withTowerDataMode\$1\$iv\$iv:I",
                    "\$i\$f\$withTowerModeCleanup:I",
                    "initialMode\$iv\$iv\$iv:Lorg/jetbrains/kotlin/fir/resolve/FirTowerDataMode;",
                    "this_\$iv\$iv\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;",
                    "\$i\$f\$withTowerDataMode:I",
                    "mode\$iv\$iv:Lorg/jetbrains/kotlin/fir/resolve/FirTowerDataMode;",
                    "\$i\$f\$withField:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;",
                    "\$i\$a\$-let-FirDeclarationsResolveTransformer\$transformField\$1\$2:I",
                    "it:Lorg/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraph;",
                    "\$i\$a\$-withFullBodyResolve\$resolve-FirDeclarationsResolveTransformer\$transformField\$1:I",
                    "\$i\$f\$withFullBodyResolve\$resolve:I",
                    "shouldSwitchMode\$iv:Z",
                    "returnTypeRef:Lorg/jetbrains/kotlin/fir/types/FirTypeRef;",
                    "this:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer;",
                    "field:Lorg/jetbrains/kotlin/fir/declarations/FirField;",
                    "data:Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;"
                ),
                allLineLocations = intArrayOf(
                    13,   205,  205,  0,
                    18,   206,  206,  0,
                    27,   207,  207,  0,
                    40,   209,  209,  0,
                    49,   1179, 72,   1,
                    57,   209,  209,  0,
                    61,   210,  210,  0,
                    70,   1180, 46,   1,
                    77,   1181, 47,   1,
                    82,   1182, 48,   1,
                    88,   1184, 50,   1,
                    89,   1185, 51,   1,
                    92,   211,  211,  0,
                    101,  1186, 18,   2,
                    111,  211,  211,  0,
                    115,  1187, 598,  3,
                    127,  1188, 159,  3,
                    134,  1196, 167,  3,
                    141,  1197, 168,  3,
                    142,  1198, 169,  3,
                    145,  1189, 160,  3,
                    152,  1190, 161,  3,
                    155,  1199, 599,  3,
                    162,  1200, 117,  3,
                    175,  1201, 118,  3,
                    176,  1202, 119,  3,
                    179,  1203, 600,  3,
                    186,  1204, 149,  3,
                    193,  1205, 150,  3,
                    194,  1206, 151,  3,
                    197,  1207, 601,  3,
                    208,  1208, 1,    4,
                    211,  1207, 601,  3,
                    218,  1207, 601,  3,
                    221,  1207, 601,  3,
                    223,  1209, 602,  3,
                    226,  212,  212,  0,
                    246,  1210, 153,  3,
                    253,  1211, 154,  3,
                    256,  1212, 152,  3,
                    258,  1210, 153,  3,
                    270,  1205, 150,  3,
                    271,  1203, 600,  3,
                    274,  1213, 121,  3,
                    283,  1214, 122,  3,
                    286,  1215, 120,  3,
                    288,  1213, 121,  3,
                    302,  1201, 118,  3,
                    303,  1199, 599,  3,
                    306,  1216, 171,  3,
                    313,  1217, 172,  3,
                    316,  1218, 170,  3,
                    318,  1216, 171,  3,
                    328,  1197, 168,  3,
                    329,  1188, 159,  3,
                    330,  1187, 598,  3,
                    331,  214,  214,  0,
                    338,  215,  215,  0,
                    346,  217,  217,  0,
                    355,  1219, 72,   1,
                    363,  217,  217,  0,
                    376,  218,  218,  0,
                    395,  219,  219,  0,
                    396,  217,  217,  0,
                    399,  217,  217,  0,
                    401,  220,  220,  0,
                    404,  1220, 53,   1,
                    409,  1221, 54,   1,
                    415,  1223, 56,   1,
                    418,  1224, 52,   1,
                    420,  1220, 53,   1,
                    425,  1221, 54,   1,
                    436,  1184, 50,   1,
                    437,  210,  210,  0,
                ),
                localVariableTable = intArrayOf(
                    49,  8,   5,   0,
                    46,  11,  4,   1,
                    101, 8,   9,   2,
                    98,  11,  8,   3,
                    226, 18,  27,  4,
                    211, 7,   26,  5,
                    208, 10,  25,  6,
                    197, 47,  24,  7,
                    186, 85,  22,  8,
                    193, 78,  23,  9,
                    183, 88,  21,  10,
                    179, 93,  20,  11,
                    162, 141, 19,  12,
                    159, 144, 18,  10,
                    155, 149, 17,  13,
                    145, 159, 16,  14,
                    134, 195, 14,  15,
                    141, 188, 15,  16,
                    131, 198, 13,  17,
                    127, 203, 12,  18,
                    124, 206, 10,  10,
                    124, 206, 11,  19,
                    115, 216, 9,   20,
                    112, 219, 8,   21,
                    355, 8,   10,  0,
                    352, 11,  9,   1,
                    376, 20,  11,  22,
                    373, 23,  10,  23,
                    92,  310, 7,   24,
                    70,  367, 5,   25,
                    77,  360, 6,   26,
                    67,  370, 4,   1,
                    18,  420, 3,   27,
                    0,   438, 0,   28,
                    0,   438, 1,   29,
                    0,   438, 2,   30,
                ),
                kotlinDebugSegment = intArrayOf(
                    4,   209, 0,
                    7,   210, 0,
                    8,   210, 0,
                    9,   210, 0,
                    10,  210, 0,
                    11,  210, 0,
                    13,  211, 0,
                    15,  211, 0,
                    16,  211, 0,
                    17,  211, 0,
                    18,  211, 0,
                    19,  211, 0,
                    20,  211, 0,
                    21,  211, 0,
                    22,  211, 0,
                    23,  211, 0,
                    24,  211, 0,
                    25,  211, 0,
                    26,  211, 0,
                    27,  211, 0,
                    28,  211, 0,
                    29,  211, 0,
                    30,  211, 0,
                    31,  211, 0,
                    32,  211, 0,
                    33,  211, 0,
                    34,  211, 0,
                    35,  211, 0,
                    37,  211, 0,
                    38,  211, 0,
                    39,  211, 0,
                    40,  211, 0,
                    41,  211, 0,
                    42,  211, 0,
                    43,  211, 0,
                    44,  211, 0,
                    45,  211, 0,
                    46,  211, 0,
                    47,  211, 0,
                    48,  211, 0,
                    49,  211, 0,
                    50,  211, 0,
                    51,  211, 0,
                    52,  211, 0,
                    53,  211, 0,
                    54,  211, 0,
                    55,  211, 0,
                    59,  217, 0,
                    66,  210, 0,
                    67,  210, 0,
                    68,  210, 0,
                    69,  210, 0,
                    70,  210, 0,
                    71,  210, 0,
                    72,  210, 0,
                )
            ),
            expectation = """
                transformField at FirDeclarationsResolveTransformer.kt:210 depth 0:
                  data: Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;
                  field: Lorg/jetbrains/kotlin/fir/declarations/FirField;
                  returnTypeRef: Lorg/jetbrains/kotlin/fir/types/FirTypeRef;
                withFullBodyResolve${'$'}resolve at FirAbstractBodyResolveTransformer.kt:51 depth 1:
                  shouldSwitchMode${'$'}iv: Z
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer;
                lambda 'withFullBodyResolve${'$'}resolve' in 'transformField' at FirDeclarationsResolveTransformer.kt:211 depth 0:
                  data: Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;
                  field: Lorg/jetbrains/kotlin/fir/declarations/FirField;
                  returnTypeRef: Lorg/jetbrains/kotlin/fir/types/FirTypeRef;
                withField at BodyResolveContext.kt:598 depth 1:
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                withTowerDataMode at BodyResolveContext.kt:159 depth 2:
                  mode${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/FirTowerDataMode;
                  this_${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                withTowerModeCleanup at BodyResolveContext.kt:169 depth 3:
                  initialMode${'$'}iv${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/FirTowerDataMode;
                  this_${'$'}iv${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withTowerModeCleanup' in 'withTowerDataMode' at BodyResolveContext.kt:161 depth 2:
                  mode${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/FirTowerDataMode;
                  this_${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withTowerDataMode' in 'withField' at BodyResolveContext.kt:599 depth 1:
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                withContainer at BodyResolveContext.kt:119 depth 2:
                  this_${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withContainer' in 'withField' at BodyResolveContext.kt:600 depth 1:
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                withTowerDataCleanup at BodyResolveContext.kt:151 depth 2:
                  initialContext${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/declarations/FirTowerDataContext;
                  this_${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withTowerDataCleanup' in 'withField' at BodyResolveContext.kt:602 depth 1:
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withField' in 'transformField' at FirDeclarationsResolveTransformer.kt:212 depth 0:
                  data: Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;
                  field: Lorg/jetbrains/kotlin/fir/declarations/FirField;
                  returnTypeRef: Lorg/jetbrains/kotlin/fir/types/FirTypeRef;
            """.trimIndent()
        )
    }

    // FinallyBlocksLowering.visitTry in FinallyBlocksLowering.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering.kt#L203
    //
    // This test shows the effect of inline only functions, where we have several inline stack
    // frames at the same depth. The only artifact with the current debug information is that
    // we can't be sure which stack frame the `this$visitTry_u24lambda_u2d11_u24lambda_u2d9`
    // (the `this` in the `irBuilder.run` lambda) belongs to and have it visible in the
    // top-level stack frame.
    fun testFinallyBlocksLoweringVisitTry() {
        doKotlinInlineStackTest(
            codeIndex = 581, // Line 250
            methodInfo = MockMethodInfo(
                name = "visitTry",
                sourceNames = arrayOf(
                    "FinallyBlocksLowering.kt",
                    "ExpressionHelpers.kt",
                    "IrBuilder.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering",
                    "org/jetbrains/kotlin/ir/builders/ExpressionHelpersKt",
                    "org/jetbrains/kotlin/ir/builders/IrBlockBuilder"
                ),
                variableNames = arrayOf(
                    "\$i\$f\$copy:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;",
                    "\$this\$copy\$iv:Lorg/jetbrains/kotlin/ir/IrElement;",
                    "\$i\$a\$-irComposite\$default-FinallyBlocksLowering\$visitTry\$1\$syntheticTry\$1\$1:I",
                    "\$this\$visitTry_u24lambda_u2d11_u24lambda_u2d9_u24lambda_u2d8:Lorg/jetbrains/kotlin/ir/builders/IrBlockBuilder;",
                    "\$i\$f\$block:I",
                    "this_\$iv\$iv:Lorg/jetbrains/kotlin/ir/builders/IrBlockBuilder;",
                    "\$i\$f\$irComposite:I",
                    "\$this\$irComposite_u24default\$iv:Lorg/jetbrains/kotlin/ir/builders/IrBuilderWithScope;",
                    "startOffset\$iv:I",
                    "endOffset\$iv:I",
                    "origin\$iv:Lorg/jetbrains/kotlin/ir/expressions/IrStatementOrigin;",
                    "resultType\$iv:Lorg/jetbrains/kotlin/ir/types/IrType;",
                    "\$i\$a\$-apply-FinallyBlocksLowering\$visitTry\$1\$syntheticTry\$1:I",
                    "\$this\$visitTry_u24lambda_u2d11_u24lambda_u2d9:Lorg/jetbrains/kotlin/ir/expressions/impl/IrTryImpl;",
                    "transformedCatch:Lorg/jetbrains/kotlin/ir/expressions/IrCatch;",
                    "aCatch:Lorg/jetbrains/kotlin/ir/expressions/IrCatch;",
                    "transformedTry:Lorg/jetbrains/kotlin/ir/expressions/impl/IrTryImpl;",
                    "\$i\$a\$-using-FinallyBlocksLowering\$visitTry\$1\$1:I",
                    "fallThroughType:Lorg/jetbrains/kotlin/ir/types/IrType;",
                    "fallThroughSymbol:Lorg/jetbrains/kotlin/ir/symbols/impl/IrReturnableBlockSymbolImpl;",
                    "transformedResult:Lorg/jetbrains/kotlin/ir/expressions/IrExpression;",
                    "returnedResult:Lorg/jetbrains/kotlin/ir/expressions/impl/IrReturnImpl;",
                    "it:Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering\$TryScope;",
                    "\$i\$f\$using:I",
                    "scope\$iv:Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering\$Scope;",
                    "\$i\$a\$-run-FinallyBlocksLowering\$visitTry\$1:I",
                    "transformedFinallyExpression:Lorg/jetbrains/kotlin/ir/expressions/IrExpression;",
                    "catchParameter:Lorg/jetbrains/kotlin/ir/declarations/IrVariable;",
                    "syntheticTry:Lorg/jetbrains/kotlin/ir/expressions/impl/IrTryImpl;",
                    "\$this\$visitTry_u24lambda_u2d11:Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;",
                    "finallyExpression:Lorg/jetbrains/kotlin/ir/expressions/IrExpression;",
                    "startOffset:I",
                    "endOffset:I",
                    "irBuilder:Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;",
                    "transformer:Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;",
                    "this:Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;",
                    "aTry:Lorg/jetbrains/kotlin/ir/expressions/IrTry;"
                ),
                allLineLocations = intArrayOf(
                    7,   203, 203, 0,
                    16,  204, 204, 0,
                    22,  203, 203, 0,
                    23,  206, 206, 0,
                    28,  207, 207, 0,
                    34,  208, 208, 0,
                    63,  209, 209, 0,
                    66,  210, 210, 0,
                    73,  211, 211, 0,
                    85,  213, 213, 0,
                    115, 214, 214, 0,
                    119, 212, 212, 0,
                    131, 217, 217, 0,
                    135, 218, 218, 0,
                    136, 219, 219, 0,
                    138, 220, 220, 0,
                    151, 217, 217, 0,
                    156, 221, 221, 0,
                    163, 222, 222, 0,
                    178, 223, 223, 0,
                    180, 224, 224, 0,
                    187, 336, 361, 1,
                    187, 337, 362, 1,
                    194, 336, 361, 1,
                    194, 338, 363, 1,
                    201, 336, 361, 1,
                    201, 339, 364, 1,
                    204, 336, 361, 1,
                    204, 340, 365, 1,
                    207, 336, 361, 1,
                    210, 343, 368, 1,
                    214, 344, 369, 1,
                    224, 345, 370, 1,
                    226, 346, 371, 1,
                    228, 347, 372, 1,
                    233, 343, 368, 1,
                    238, 348, 373, 1,
                    242, 349, 93,  2,
                    253, 225, 225, 0,
                    267, 350, 284, 0,
                    275, 225, 225, 0,
                    278, 226, 226, 0,
                    310, 227, 227, 0,
                    315, 351, 94,  2,
                    323, 348, 373, 1,
                    324, 222, 222, 0,
                    336, 230, 230, 0,
                    342, 231, 231, 0,
                    343, 221, 221, 0,
                    345, 221, 221, 0,
                    345, 217, 217, 0,
                    347, 233, 233, 0,
                    377, 352, 77,  0,
                    388, 353, 78,  0,
                    389, 354, 79,  0,
                    399, 235, 235, 0,
                    405, 236, 236, 0,
                    417, 237, 237, 0,
                    432, 238, 238, 0,
                    450, 240, 240, 0,
                    470, 240, 240, 0,
                    473, 241, 241, 0,
                    477, 242, 242, 0,
                    478, 243, 243, 0,
                    480, 244, 244, 0,
                    493, 241, 241, 0,
                    498, 246, 246, 0,
                    508, 247, 247, 0,
                    541, 248, 248, 0,
                    554, 249, 249, 0,
                    581, 250, 250, 0,
                    597, 252, 252, 0,
                    610, 254, 254, 0,
                    620, 257, 257, 0,
                    648, 356, 81,  0,
                    660, 355, 80,  0,
                    662, 356, 81,  0,
                ),
                localVariableTable = intArrayOf(
                    267, 5,   29,  0,
                    264, 8,   27,  1,
                    264, 8,   28,  2,
                    253, 58,  26,  3,
                    250, 61,  23,  4,
                    242, 78,  22,  5,
                    239, 81,  21,  6,
                    210, 114, 20,  7,
                    187, 137, 15,  8,
                    194, 130, 16,  9,
                    201, 123, 17,  10,
                    204, 120, 18,  11,
                    207, 117, 19,  12,
                    163, 180, 13,  13,
                    160, 183, 12,  14,
                    554, 40,  23,  15,
                    541, 53,  22,  16,
                    498, 109, 20,  17,
                    399, 247, 15,  18,
                    405, 241, 16,  19,
                    417, 229, 17,  20,
                    432, 214, 18,  21,
                    450, 196, 19,  22,
                    396, 250, 14,  23,
                    377, 269, 13,  24,
                    374, 272, 11,  1,
                    374, 272, 12,  25,
                    660, 14,  13,  24,
                    660, 14,  11,  1,
                    660, 14,  12,  25,
                    73,  601, 8,   26,
                    85,  589, 9,   27,
                    131, 543, 10,  28,
                    347, 327, 30,  29,
                    70,  604, 7,   30,
                    23,  651, 2,   31,
                    28,  646, 3,   32,
                    34,  640, 4,   33,
                    63,  611, 5,   34,
                    66,  608, 6,   35,
                    0,   674, 0,   36,
                    0,   674, 1,   37,
                ),
                kotlinDebugSegment = intArrayOf(
                    21,  224, 0,
                    22,  224, 0,
                    23,  224, 0,
                    24,  224, 0,
                    25,  224, 0,
                    26,  224, 0,
                    27,  224, 0,
                    28,  224, 0,
                    29,  224, 0,
                    30,  224, 0,
                    31,  224, 0,
                    32,  224, 0,
                    33,  224, 0,
                    34,  224, 0,
                    35,  224, 0,
                    36,  224, 0,
                    37,  224, 0,
                    39,  225, 0,
                    43,  224, 0,
                    44,  224, 0,
                    52,  233, 0,
                    53,  233, 0,
                    54,  233, 0,
                    74,  233, 0,
                    75,  233, 0,
                    76,  233, 0,
                )
            ),
            expectation = """
                visitTry at FinallyBlocksLowering.kt:210 depth 0:
                  ${'$'}this${'$'}visitTry_u24lambda_u2d11: Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;
                  aTry: Lorg/jetbrains/kotlin/ir/expressions/IrTry;
                  endOffset: I
                  finallyExpression: Lorg/jetbrains/kotlin/ir/expressions/IrExpression;
                  irBuilder: Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;
                  startOffset: I
                  transformer: Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;
                lambda 'run' in 'visitTry' at FinallyBlocksLowering.kt:233 depth 0:
                  ${'$'}this${'$'}visitTry_u24lambda_u2d11: Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;
                  aTry: Lorg/jetbrains/kotlin/ir/expressions/IrTry;
                  catchParameter: Lorg/jetbrains/kotlin/ir/declarations/IrVariable;
                  endOffset: I
                  finallyExpression: Lorg/jetbrains/kotlin/ir/expressions/IrExpression;
                  irBuilder: Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;
                  startOffset: I
                  syntheticTry: Lorg/jetbrains/kotlin/ir/expressions/impl/IrTryImpl;
                  transformedFinallyExpression: Lorg/jetbrains/kotlin/ir/expressions/IrExpression;
                  transformer: Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;
                using at FinallyBlocksLowering.kt:79 depth 1:
                  scope${'$'}iv: Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering${'$'}Scope;
                  this_${'$'}iv: Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;
                lambda 'using' in 'visitTry' at FinallyBlocksLowering.kt:250 depth 0:
                  ${'$'}this${'$'}visitTry_u24lambda_u2d11: Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;
                  aCatch: Lorg/jetbrains/kotlin/ir/expressions/IrCatch;
                  aTry: Lorg/jetbrains/kotlin/ir/expressions/IrTry;
                  catchParameter: Lorg/jetbrains/kotlin/ir/declarations/IrVariable;
                  endOffset: I
                  fallThroughSymbol: Lorg/jetbrains/kotlin/ir/symbols/impl/IrReturnableBlockSymbolImpl;
                  fallThroughType: Lorg/jetbrains/kotlin/ir/types/IrType;
                  finallyExpression: Lorg/jetbrains/kotlin/ir/expressions/IrExpression;
                  irBuilder: Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;
                  it: Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering${'$'}TryScope;
                  returnedResult: Lorg/jetbrains/kotlin/ir/expressions/impl/IrReturnImpl;
                  startOffset: I
                  syntheticTry: Lorg/jetbrains/kotlin/ir/expressions/impl/IrTryImpl;
                  transformedCatch: Lorg/jetbrains/kotlin/ir/expressions/IrCatch;
                  transformedFinallyExpression: Lorg/jetbrains/kotlin/ir/expressions/IrExpression;
                  transformedResult: Lorg/jetbrains/kotlin/ir/expressions/IrExpression;
                  transformedTry: Lorg/jetbrains/kotlin/ir/expressions/impl/IrTryImpl;
                  transformer: Lorg/jetbrains/kotlin/backend/common/lower/FinallyBlocksLowering;
            """.trimIndent()
        )
    }

    // FirDeclarationsResolveTransformer.transformProperty in FirDeclarationsResolveTransformer.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt#L113
    //
    // This test has the same caveats as `testFirDeclarationsResolveTransformerTransformField` above.
    // The additional complication with this test is that the code is duplicated by the `withTypeParametersOf`
    // function in `BodyResolveContext`, which is an inline function that calls the same lambda in two
    // different places. The resulting call stacks are the same, except for a few new frames after
    // `withTypeParametersOf`.
    fun testFirDeclarationsResolveTransformerTransformProperty() {
        doKotlinInlineStackTest(
            codeIndex = 836, // Line 175, also at code index 1423
            methodInfo = MockMethodInfo(
                name = "transformProperty",
                sourceNames = arrayOf(
                    "FirDeclarationsResolveTransformer.kt",
                    "fake.kt",
                    "FirAbstractBodyResolveTransformer.kt",
                    "FirPartialBodyResolveTransformer.kt",
                    "BodyResolveContext.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer",
                    "kotlin/jvm/internal/FakeKt",
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer",
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirPartialBodyResolveTransformer",
                    "org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext"
                ),
                variableNames = arrayOf(
                    "\$i\$a\$-require-FirDeclarationsResolveTransformer\$transformProperty\$1:I",
                    "\$i\$a\$-let-FirDeclarationsResolveTransformer\$transformProperty\$2:I",
                    "it:Lorg/jetbrains/kotlin/fir/declarations/FirPropertyAccessor;",
                    "\$i\$a\$-let-FirDeclarationsResolveTransformer\$transformProperty\$3:I",
                    "\$i\$a\$-let-FirDeclarationsResolveTransformer\$transformProperty\$4:I",
                    "it:Lorg/jetbrains/kotlin/fir/declarations/FirBackingField;",
                    "\$i\$f\$getDataFlowAnalyzer:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer;",
                    "\$i\$f\$getContext:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirPartialBodyResolveTransformer;",
                    "\$i\$a\$-forPropertyInitializer-FirDeclarationsResolveTransformer\$transformProperty\$5\$1\$1:I",
                    "canResolveBackingFieldEarly:Z",
                    "\$i\$a\$-let-BodyResolveContext\$forPropertyInitializer\$1\$1\$iv:I",
                    "it\$iv:Lorg/jetbrains/kotlin/fir/scopes/impl/FirLocalScope;",
                    "\$i\$a\$-withTowerDataCleanup-BodyResolveContext\$forPropertyInitializer\$1\$iv:I",
                    "\$i\$f\$withTowerDataCleanup:I",
                    "initialContext\$iv\$iv:Lorg/jetbrains/kotlin/fir/declarations/FirTowerDataContext;",
                    "this_\$iv\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;",
                    "\$i\$f\$forPropertyInitializer:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;",
                    "hasNonDefaultAccessors:Z",
                    "mayResolveSetter:Z",
                    "propertyTypeIsKnown:Z",
                    "mayResolveGetter:Z",
                    "\$i\$a\$-withProperty-FirDeclarationsResolveTransformer\$transformProperty\$5\$1:I",
                    "delegate:Lorg/jetbrains/kotlin/fir/expressions/FirExpression;",
                    "\$i\$f\$withContainer:I",
                    "\$i\$a\$-withTypeParametersOf-BodyResolveContext\$withProperty\$1\$iv:I",
                    "\$i\$a\$-withTowerDataCleanup-BodyResolveContext\$withTypeParametersOf\$1\$iv\$iv:I",
                    "initialContext\$iv\$iv\$iv:Lorg/jetbrains/kotlin/fir/declarations/FirTowerDataContext;",
                    "this_\$iv\$iv\$iv:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;",
                    "\$i\$f\$withTypeParametersOf:I",
                    "scope\$iv\$iv:Lorg/jetbrains/kotlin/fir/scopes/impl/FirMemberTypeParameterScope;",
                    "\$i\$f\$withProperty:I",
                    "\$i\$a\$-let-FirDeclarationsResolveTransformer\$transformProperty\$5\$2:I",
                    "it:Lorg/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraph;",
                    "\$i\$a\$-withFullBodyResolve\$resolve-FirDeclarationsResolveTransformer\$transformProperty\$5:I",
                    "initializerIsAlreadyResolved:Z",
                    "backingFieldIsAlreadyResolved:Z",
                    "\$i\$f\$withFullBodyResolve\$resolve:I",
                    "shouldSwitchMode\$iv:Z",
                    "returnTypeRef:Lorg/jetbrains/kotlin/fir/types/FirTypeRef;",
                    "bodyResolveState:Lorg/jetbrains/kotlin/fir/declarations/FirPropertyBodyResolveState;",
                    "canHaveDeepImplicitTypeRefs:Z",
                    "shouldResolveEverything:Z",
                    "this:Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer;",
                    "property:Lorg/jetbrains/kotlin/fir/declarations/FirProperty;",
                    "data:Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;"
                ),
                allLineLocations = intArrayOf(
                    13,   113,  113,  0,
                    28,   1115, 1,    1,
                    31,   113,  113,  0,
                    34,   113,  113,  0,
                    49,   115,  115,  0,
                    56,   116,  116,  0,
                    64,   117,  117,  0,
                    88,   118,  118,  0,
                    98,   1115, 1,    1,
                    101,  118,  118,  0,
                    126,  118,  118,  0,
                    129,  118,  118,  0,
                    132,  119,  119,  0,
                    142,  1115, 1,    1,
                    145,  119,  119,  0,
                    170,  119,  119,  0,
                    173,  119,  119,  0,
                    176,  120,  120,  0,
                    186,  1115, 1,    1,
                    189,  120,  120,  0,
                    214,  120,  120,  0,
                    217,  120,  120,  0,
                    220,  121,  121,  0,
                    226,  124,  124,  0,
                    231,  125,  125,  0,
                    237,  126,  126,  0,
                    247,  128,  128,  0,
                    253,  130,  130,  0,
                    272,  131,  131,  0,
                    274,  134,  134,  0,
                    289,  135,  135,  0,
                    298,  1116, 72,   2,
                    306,  135,  135,  0,
                    310,  136,  136,  0,
                    318,  137,  137,  0,
                    332,  138,  138,  0,
                    341,  1117, 46,   2,
                    348,  1118, 47,   2,
                    353,  1119, 48,   2,
                    359,  1121, 50,   2,
                    360,  1122, 51,   2,
                    363,  139,  139,  0,
                    384,  140,  140,  0,
                    387,  141,  141,  0,
                    396,  1123, 18,   3,
                    406,  141,  141,  0,
                    410,  1124, 643,  4,
                    417,  1125, 240,  4,
                    435,  1126, 644,  4,
                    442,  1127, 117,  4,
                    455,  1128, 118,  4,
                    456,  1129, 119,  4,
                    459,  142,  142,  0,
                    468,  1130, 18,   3,
                    478,  142,  142,  0,
                    482,  1131, 679,  4,
                    489,  1132, 149,  4,
                    496,  1133, 150,  4,
                    497,  1134, 151,  4,
                    500,  1135, 680,  4,
                    511,  1136, 1,    1,
                    514,  1135, 680,  4,
                    524,  1135, 680,  4,
                    531,  1135, 680,  4,
                    534,  1137, 681,  4,
                    537,  143,  143,  0,
                    542,  144,  144,  0,
                    549,  145,  145,  0,
                    556,  147,  147,  0,
                    563,  148,  148,  0,
                    571,  150,  150,  0,
                    595,  151,  151,  0,
                    605,  152,  152,  0,
                    627,  153,  153,  0,
                    630,  155,  155,  0,
                    636,  1138, 153,  4,
                    643,  1139, 154,  4,
                    646,  1140, 152,  4,
                    648,  1138, 153,  4,
                    660,  1133, 150,  4,
                    661,  1131, 679,  4,
                    663,  156,  156,  0,
                    669,  157,  157,  0,
                    674,  158,  158,  0,
                    679,  159,  159,  0,
                    686,  160,  160,  0,
                    691,  162,  162,  0,
                    701,  164,  164,  0,
                    718,  165,  165,  0,
                    740,  164,  164,  0,
                    742,  166,  166,  0,
                    759,  167,  167,  0,
                    786,  168,  168,  0,
                    803,  169,  169,  0,
                    808,  170,  170,  0,
                    815,  171,  171,  0,
                    816,  172,  172,  0,
                    827,  173,  173,  0,
                    830,  171,  171,  0,
                    836,  175,  175,  0,
                    843,  178,  178,  0,
                    866,  179,  179,  0,
                    889,  180,  180,  0,
                    935,  183,  183,  0,
                    941,  1141, 121,  4,
                    950,  1142, 122,  4,
                    953,  1143, 120,  4,
                    955,  1141, 121,  4,
                    969,  1128, 118,  4,
                    970,  1126, 644,  4,
                    974,  1144, 241,  4,
                    987,  1145, 242,  4,
                    994,  1146, 149,  4,
                    1001, 1147, 150,  4,
                    1002, 1148, 151,  4,
                    1005, 1149, 243,  4,
                    1019, 1150, 244,  4,
                    1022, 1126, 644,  4,
                    1029, 1151, 117,  4,
                    1042, 1152, 118,  4,
                    1043, 1153, 119,  4,
                    1046, 142,  142,  0,
                    1055, 1130, 18,   3,
                    1065, 142,  142,  0,
                    1069, 1154, 679,  4,
                    1076, 1155, 149,  4,
                    1083, 1156, 150,  4,
                    1084, 1157, 151,  4,
                    1087, 1158, 680,  4,
                    1098, 1136, 1,    1,
                    1101, 1158, 680,  4,
                    1111, 1158, 680,  4,
                    1118, 1158, 680,  4,
                    1121, 1159, 681,  4,
                    1124, 143,  143,  0,
                    1129, 144,  144,  0,
                    1136, 145,  145,  0,
                    1143, 147,  147,  0,
                    1150, 148,  148,  0,
                    1158, 150,  150,  0,
                    1182, 151,  151,  0,
                    1192, 152,  152,  0,
                    1214, 153,  153,  0,
                    1217, 155,  155,  0,
                    1223, 1160, 153,  4,
                    1230, 1161, 154,  4,
                    1233, 1162, 152,  4,
                    1235, 1160, 153,  4,
                    1247, 1156, 150,  4,
                    1248, 1154, 679,  4,
                    1250, 156,  156,  0,
                    1256, 157,  157,  0,
                    1261, 158,  158,  0,
                    1266, 159,  159,  0,
                    1273, 160,  160,  0,
                    1278, 162,  162,  0,
                    1288, 164,  164,  0,
                    1305, 165,  165,  0,
                    1327, 164,  164,  0,
                    1329, 166,  166,  0,
                    1346, 167,  167,  0,
                    1373, 168,  168,  0,
                    1390, 169,  169,  0,
                    1395, 170,  170,  0,
                    1402, 171,  171,  0,
                    1403, 172,  172,  0,
                    1414, 173,  173,  0,
                    1417, 171,  171,  0,
                    1423, 175,  175,  0,
                    1430, 178,  178,  0,
                    1453, 179,  179,  0,
                    1476, 180,  180,  0,
                    1522, 183,  183,  0,
                    1528, 1163, 121,  4,
                    1537, 1164, 122,  4,
                    1540, 1165, 120,  4,
                    1542, 1163, 121,  4,
                    1556, 1152, 118,  4,
                    1557, 1126, 644,  4,
                    1560, 1166, 153,  4,
                    1567, 1167, 154,  4,
                    1570, 1168, 152,  4,
                    1572, 1166, 153,  4,
                    1584, 1147, 150,  4,
                    1585, 1145, 242,  4,
                    1586, 1124, 643,  4,
                    1588, 184,  184,  0,
                    1593, 185,  185,  0,
                    1598, 186,  186,  0,
                    1620, 188,  188,  0,
                    1629, 1169, 72,   2,
                    1637, 188,  188,  0,
                    1650, 189,  189,  0,
                    1669, 190,  190,  0,
                    1673, 188,  188,  0,
                    1680, 188,  188,  0,
                    1683, 192,  192,  0,
                    1686, 1170, 53,   2,
                    1691, 1171, 54,   2,
                    1697, 1173, 56,   2,
                    1700, 1174, 52,   2,
                    1702, 1170, 53,   2,
                    1707, 1171, 54,   2,
                    1718, 1121, 50,   2,
                    1719, 138,  138,  0,
                ),
                localVariableTable = intArrayOf(
                    31,   3,    4,    0,
                    101,  25,   6,    1,
                    98,   28,   5,    2,
                    145,  25,   6,    3,
                    142,  28,   5,    2,
                    189,  25,   6,    4,
                    186,  28,   5,    5,
                    298,  8,    7,    6,
                    295,  11,   6,    7,
                    396,  8,    14,   8,
                    393,  11,   13,   9,
                    468,  8,    22,   8,
                    465,  11,   21,   9,
                    537,  94,   29,   10,
                    595,  36,   30,   11,
                    514,  7,    28,   12,
                    511,  10,   27,   13,
                    500,  134,  26,   14,
                    489,  172,  24,   15,
                    496,  165,  25,   16,
                    486,  175,  23,   17,
                    482,  180,  22,   18,
                    479,  183,  21,   19,
                    742,  193,  22,   20,
                    759,  176,  23,   21,
                    786,  149,  24,   22,
                    803,  132,  25,   23,
                    459,  477,  20,   24,
                    669,  267,  21,   25,
                    1055, 8,    22,   8,
                    1052, 11,   21,   9,
                    1124, 94,   29,   10,
                    1182, 36,   30,   11,
                    1101, 7,    28,   12,
                    1098, 10,   27,   13,
                    1087, 134,  26,   14,
                    1076, 172,  24,   15,
                    1083, 165,  25,   16,
                    1073, 175,  23,   17,
                    1069, 180,  22,   18,
                    1066, 183,  21,   19,
                    1329, 193,  22,   20,
                    1346, 176,  23,   21,
                    1373, 149,  24,   22,
                    1390, 132,  25,   23,
                    1046, 477,  20,   24,
                    1256, 267,  21,   25,
                    442,  528,  19,   26,
                    439,  531,  18,   17,
                    435,  536,  17,   27,
                    1029, 528,  19,   26,
                    1026, 531,  18,   17,
                    1022, 536,  17,   27,
                    1005, 553,  38,   28,
                    994,  591,  36,   15,
                    1001, 584,  37,   29,
                    991,  594,  35,   30,
                    417,  1169, 16,   31,
                    987,  599,  34,   32,
                    414,  1172, 15,   17,
                    410,  1177, 14,   33,
                    407,  1180, 13,   19,
                    1629, 8,    15,   6,
                    1626, 11,   14,   7,
                    1650, 20,   16,   34,
                    1647, 23,   15,   35,
                    363,  1321, 10,   36,
                    384,  1300, 11,   37,
                    387,  1297, 12,   38,
                    341,  1378, 8,    39,
                    348,  1371, 9,    40,
                    338,  1381, 7,    7,
                    231,  1489, 3,    41,
                    237,  1483, 4,    42,
                    253,  1467, 5,    43,
                    332,  1388, 6,    44,
                    0,    1720, 0,    45,
                    0,    1720, 1,    46,
                    0,    1720, 2,    47,
                ),
                kotlinDebugSegment = intArrayOf(
                    31,  135, 0,
                    36,  138, 0,
                    37,  138, 0,
                    38,  138, 0,
                    39,  138, 0,
                    40,  138, 0,
                    44,  141, 0,
                    46,  141, 0,
                    47,  141, 0,
                    48,  141, 0,
                    49,  141, 0,
                    50,  141, 0,
                    51,  141, 0,
                    53,  142, 0,
                    55,  142, 0,
                    56,  142, 0,
                    57,  142, 0,
                    58,  142, 0,
                    59,  142, 0,
                    60,  142, 0,
                    61,  142, 0,
                    62,  142, 0,
                    63,  142, 0,
                    64,  142, 0,
                    75,  142, 0,
                    76,  142, 0,
                    77,  142, 0,
                    78,  142, 0,
                    79,  142, 0,
                    80,  142, 0,
                    104, 141, 0,
                    105, 141, 0,
                    106, 141, 0,
                    107, 141, 0,
                    108, 141, 0,
                    109, 141, 0,
                    110, 141, 0,
                    111, 141, 0,
                    112, 141, 0,
                    113, 141, 0,
                    114, 141, 0,
                    115, 141, 0,
                    116, 141, 0,
                    117, 141, 0,
                    118, 141, 0,
                    119, 141, 0,
                    120, 141, 0,
                    122, 142, 0,
                    124, 142, 0,
                    125, 142, 0,
                    126, 142, 0,
                    127, 142, 0,
                    128, 142, 0,
                    129, 142, 0,
                    130, 142, 0,
                    131, 142, 0,
                    132, 142, 0,
                    133, 142, 0,
                    144, 142, 0,
                    145, 142, 0,
                    146, 142, 0,
                    147, 142, 0,
                    148, 142, 0,
                    149, 142, 0,
                    173, 141, 0,
                    174, 141, 0,
                    175, 141, 0,
                    176, 141, 0,
                    177, 141, 0,
                    178, 141, 0,
                    179, 141, 0,
                    180, 141, 0,
                    181, 141, 0,
                    182, 141, 0,
                    183, 141, 0,
                    184, 141, 0,
                    185, 141, 0,
                    190, 188, 0,
                    197, 138, 0,
                    198, 138, 0,
                    199, 138, 0,
                    200, 138, 0,
                    201, 138, 0,
                    202, 138, 0,
                    203, 138, 0,
                )
            ),
            expectation = """
                transformProperty at FirDeclarationsResolveTransformer.kt:138 depth 0:
                  bodyResolveState: Lorg/jetbrains/kotlin/fir/declarations/FirPropertyBodyResolveState;
                  canHaveDeepImplicitTypeRefs: Z
                  data: Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;
                  property: Lorg/jetbrains/kotlin/fir/declarations/FirProperty;
                  returnTypeRef: Lorg/jetbrains/kotlin/fir/types/FirTypeRef;
                  shouldResolveEverything: Z
                withFullBodyResolve${'$'}resolve at FirAbstractBodyResolveTransformer.kt:51 depth 1:
                  shouldSwitchMode${'$'}iv: Z
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirAbstractBodyResolveTransformer;
                lambda 'withFullBodyResolve${'$'}resolve' in 'transformProperty' at FirDeclarationsResolveTransformer.kt:141 depth 0:
                  backingFieldIsAlreadyResolved: Z
                  bodyResolveState: Lorg/jetbrains/kotlin/fir/declarations/FirPropertyBodyResolveState;
                  canHaveDeepImplicitTypeRefs: Z
                  data: Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;
                  initializerIsAlreadyResolved: Z
                  property: Lorg/jetbrains/kotlin/fir/declarations/FirProperty;
                  returnTypeRef: Lorg/jetbrains/kotlin/fir/types/FirTypeRef;
                  shouldResolveEverything: Z
                withProperty at BodyResolveContext.kt:643 depth 1:
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                withTypeParametersOf at BodyResolveContext.kt:240 depth 2:
                  this_${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withTypeParametersOf' in 'withProperty' at BodyResolveContext.kt:644 depth 1:
                  this_${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                withContainer at BodyResolveContext.kt:119 depth 2:
                  this_${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/fir/resolve/transformers/body/resolve/BodyResolveContext;
                lambda 'withProperty' in 'transformProperty' at FirDeclarationsResolveTransformer.kt:175 depth 0:
                  backingFieldIsAlreadyResolved: Z
                  bodyResolveState: Lorg/jetbrains/kotlin/fir/declarations/FirPropertyBodyResolveState;
                  canHaveDeepImplicitTypeRefs: Z
                  data: Lorg/jetbrains/kotlin/fir/resolve/ResolutionMode;
                  delegate: Lorg/jetbrains/kotlin/fir/expressions/FirExpression;
                  hasNonDefaultAccessors: Z
                  initializerIsAlreadyResolved: Z
                  mayResolveGetter: Z
                  mayResolveSetter: Z
                  property: Lorg/jetbrains/kotlin/fir/declarations/FirProperty;
                  propertyTypeIsKnown: Z
                  returnTypeRef: Lorg/jetbrains/kotlin/fir/types/FirTypeRef;
                  shouldResolveEverything: Z
            """.trimIndent()
        )
    }

    // AbstractSuspendFunctionsLowering$addMissingSupertypesToSuspendFunctionImplementingClasses$1.addMissingSupertypes in AbstractSuspendFunctionsLowering.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt#L75
    //
    // The inline only functions in this test come with the same caveats as in `testFinallyBlocksLoweringVisitTry`.
    // The additional complication in this test is that the `apply` lambda that we break in is on
    // a single line and therefore immediately preceded by a fake.kt:1 line number. When calculating
    // the inline call location we need to skip over this line.
    fun testAbstractSuspendFunctionsLoweringAddMissingSupertypes() {
        doKotlinInlineStackTest(
            codeIndex = 1092, // Line 119, inside the `apply` lambda
            methodInfo = MockMethodInfo(
                name = "addMissingSupertypes",
                sourceNames = arrayOf(
                    "AbstractSuspendFunctionsLowering.kt",
                    "_Collections.kt",
                    "declarationBuilders.kt",
                    "fake.kt",
                    "ExpressionHelpers.kt",
                    "IrBuilder.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1",
                    "kotlin/collections/CollectionsKt___CollectionsKt",
                    "org/jetbrains/kotlin/ir/builders/declarations/DeclarationBuildersKt",
                    "kotlin/jvm/internal/FakeKt",
                    "org/jetbrains/kotlin/ir/builders/ExpressionHelpersKt",
                    "org/jetbrains/kotlin/ir/builders/IrBlockBodyBuilder"
                ),
                variableNames = arrayOf(
                    "\$i\$a\$-filter-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$suspendFunctionTypes\$1:I",
                    "it:Lorg/jetbrains/kotlin/ir/types/IrSimpleType;",
                    "element\$iv\$iv:Ljava/lang/Object;",
                    "\$i\$f\$filterTo:I",
                    "\$this\$filterTo\$iv\$iv:Ljava/lang/Iterable;",
                    "destination\$iv\$iv:Ljava/util/Collection;",
                    "\$i\$f\$filter:I",
                    "\$this\$filter\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-single-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$suspendFunction\$1:I",
                    "it:Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;",
                    "element\$iv:Ljava/lang/Object;",
                    "\$i\$f\$single:I",
                    "single\$iv:Ljava/lang/Object;",
                    "found\$iv:Z",
                    "\$this\$single\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-single-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$invokeFunction\$1:I",
                    "\$i\$a\$-single-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$functionSymbol\$1:I",
                    "\$i\$a\$-mapIndexed-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$functionClassTypeArguments\$1:I",
                    "type:Lorg/jetbrains/kotlin/ir/types/IrType;",
                    "index:I",
                    "argument:Lorg/jetbrains/kotlin/ir/types/IrTypeArgument;",
                    "item\$iv\$iv:Ljava/lang/Object;",
                    "\$i\$f\$mapIndexedTo:I",
                    "index\$iv\$iv:I",
                    "\$this\$mapIndexedTo\$iv\$iv:Ljava/lang/Iterable;",
                    "\$i\$f\$mapIndexed:I",
                    "\$this\$mapIndexed\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-buildFun-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$1:I",
                    "\$this\$addMissingSupertypes_u24lambda_u2d5:Lorg/jetbrains/kotlin/ir/builders/declarations/IrFunctionBuilder;",
                    "\$i\$a\$-run-DeclarationBuildersKt\$buildFun\$1\$iv:I",
                    "\$this\$buildFun_u24lambda_u2d16\$iv:Lorg/jetbrains/kotlin/ir/builders/declarations/IrFunctionBuilder;",
                    "\$i\$f\$buildFun:I",
                    "\$this\$buildFun\$iv:Lorg/jetbrains/kotlin/ir/declarations/IrFactory;",
                    "\$i\$a\$-apply-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2\$1\$1:I",
                    "\$this\$addMissingSupertypes_u24lambda_u2d12_u24lambda_u2d7_u24lambda_u2d6:Lorg/jetbrains/kotlin/ir/declarations/IrTypeParameter;",
                    "\$i\$a\$-map-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2\$1:I",
                    "parameter:Lorg/jetbrains/kotlin/ir/declarations/IrTypeParameter;",
                    "\$i\$f\$mapTo:I",
                    "\$this\$mapTo\$iv\$iv:Ljava/lang/Iterable;",
                    "\$i\$f\$map:I",
                    "\$this\$map\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-mapIndexed-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2\$2:I",
                    "parameter:Lorg/jetbrains/kotlin/ir/declarations/IrValueParameter;",
                    "\$i\$a\$-buildValueParameter-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2\$3:I",
                    "\$this\$addMissingSupertypes_u24lambda_u2d12_u24lambda_u2d9:Lorg/jetbrains/kotlin/ir/builders/declarations/IrValueParameterBuilder;",
                    "\$i\$a\$-run-DeclarationBuildersKt\$buildValueParameter\$2\$iv:I",
                    "\$this\$buildValueParameter_u24lambda_u2d26\$iv:Lorg/jetbrains/kotlin/ir/builders/declarations/IrValueParameterBuilder;",
                    "\$i\$f\$buildValueParameter:I",
                    "\$i\$a\$-map-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2\$4\$1:I",
                    "it:Lorg/jetbrains/kotlin/ir/declarations/IrValueParameter;",
                    "\$i\$a\$-irBlockBody-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2\$4:I",
                    "\$this\$addMissingSupertypes_u24lambda_u2d12_u24lambda_u2d11:Lorg/jetbrains/kotlin/ir/builders/IrBlockBodyBuilder;",
                    "\$i\$f\$blockBody:I",
                    "this_\$iv\$iv:Lorg/jetbrains/kotlin/ir/builders/IrBlockBodyBuilder;",
                    "\$i\$f\$irBlockBody:I",
                    "\$this\$irBlockBody\$iv:Lorg/jetbrains/kotlin/ir/builders/IrBuilderWithScope;",
                    "startOffset\$iv:I",
                    "endOffset\$iv:I",
                    "\$i\$a\$-apply-AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1\$addMissingSupertypes\$2:I",
                    "thisReceiver:Lorg/jetbrains/kotlin/ir/declarations/IrValueParameter;",
                    "irBuilder:Lorg/jetbrains/kotlin/backend/common/lower/DeclarationIrBuilder;",
                    "\$this\$addMissingSupertypes_u24lambda_u2d12:Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;",
                    "suspendFunctionClassSymbol:Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;",
                    "suspendFunction:Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;",
                    "invokeFunction:Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;",
                    "suspendFunctionArity:I",
                    "functionClassSymbol:Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;",
                    "functionSymbol:Lorg/jetbrains/kotlin/ir/symbols/IrSimpleFunctionSymbol;",
                    "functionClassTypeArguments:Ljava/util/List;",
                    "functionType:Lorg/jetbrains/kotlin/ir/types/IrSimpleType;",
                    "suspendFunctionType:Lorg/jetbrains/kotlin/ir/types/IrSimpleType;",
                    "suspendFunctionTypes:Ljava/util/Set;",
                    "this:Lorg/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering\$addMissingSupertypesToSuspendFunctionImplementingClasses\$1;",
                    "clazz:Lorg/jetbrains/kotlin/ir/declarations/IrClass;"
                ),
                allLineLocations = intArrayOf(
                    0,    75,   75,   0,
                    11,   719,  764,  1,
                    29,   720,  855,  1,
                    67,   75,   75,   0,
                    91,   721,  856,  1,
                    96,   719,  764,  1,
                    100,  75,   75,   0,
                    104,  77,   77,   0,
                    131,  78,   78,   0,
                    149,  79,   79,   0,
                    170,  722,  616,  1,
                    173,  723,  617,  1,
                    176,  724,  618,  1,
                    204,  725,  619,  1,
                    214,  80,   80,   0,
                    228,  726,  620,  1,
                    243,  727,  621,  1,
                    247,  728,  622,  1,
                    253,  731,  625,  1,
                    268,  733,  627,  1,
                    270,  79,   79,   0,
                    275,  83,   83,   0,
                    290,  734,  616,  1,
                    293,  735,  617,  1,
                    296,  736,  618,  1,
                    324,  737,  619,  1,
                    334,  84,   84,   0,
                    372,  738,  620,  1,
                    387,  739,  621,  1,
                    391,  740,  622,  1,
                    397,  743,  625,  1,
                    412,  745,  627,  1,
                    414,  83,   83,   0,
                    419,  87,   87,   0,
                    430,  88,   88,   0,
                    433,  91,   91,   0,
                    445,  92,   92,   0,
                    461,  93,   93,   0,
                    482,  746,  616,  1,
                    485,  747,  617,  1,
                    488,  748,  618,  1,
                    516,  749,  619,  1,
                    526,  94,   94,   0,
                    540,  750,  620,  1,
                    555,  751,  621,  1,
                    559,  752,  622,  1,
                    565,  755,  625,  1,
                    580,  757,  627,  1,
                    585,  95,   95,   0,
                    588,  93,   93,   0,
                    590,  97,   97,   0,
                    611,  758,  1557, 1,
                    637,  759,  1588, 1,
                    640,  760,  1589, 1,
                    668,  761,  1590, 1,
                    687,  761,  1590, 1,
                    701,  98,   98,   0,
                    713,  99,   99,   0,
                    765,  762,  1591, 1,
                    770,  758,  1557, 1,
                    774,  100,  100,  0,
                    789,  97,   97,   0,
                    794,  102,  102,  0,
                    806,  104,  104,  0,
                    822,  106,  106,  0,
                    845,  763,  168,  2,
                    857,  764,  169,  2,
                    864,  107,  107,  0,
                    871,  108,  108,  0,
                    878,  109,  109,  0,
                    889,  110,  110,  0,
                    897,  111,  111,  0,
                    912,  112,  112,  0,
                    930,  113,  113,  0,
                    931,  765,  170,  2,
                    938,  763,  168,  2,
                    939,  766,  171,  2,
                    942,  113,  113,  0,
                    955,  114,  114,  0,
                    964,  115,  115,  0,
                    979,  117,  117,  0,
                    996,  767,  1547, 1,
                    1022, 768,  1618, 1,
                    1050, 769,  1619, 1,
                    1064, 118,  118,  0,
                    1085, 119,  119,  0,
                    1089, 770,  1,    3,
                    1092, 119,  119,  0,
                    1119, 119,  119,  0,
                    1122, 119,  119,  0,
                    1135, 771,  1620, 1,
                    1140, 767,  1547, 1,
                    1144, 117,  117,  0,
                    1147, 122,  122,  0,
                    1159, 123,  123,  0,
                    1164, 772,  1557, 1,
                    1190, 773,  1588, 1,
                    1193, 774,  1589, 1,
                    1221, 775,  1590, 1,
                    1240, 775,  1590, 1,
                    1254, 124,  124,  0,
                    1298, 776,  1591, 1,
                    1303, 772,  1557, 1,
                    1307, 122,  122,  0,
                    1310, 126,  126,  0,
                    1323, 777,  258,  2,
                    1335, 778,  259,  2,
                    1346, 127,  127,  0,
                    1361, 128,  128,  0,
                    1379, 129,  129,  0,
                    1390, 130,  130,  0,
                    1395, 779,  260,  2,
                    1418, 777,  258,  2,
                    1419, 780,  261,  2,
                    1420, 126,  126,  0,
                    1426, 132,  132,  0,
                    1437, 134,  134,  0,
                    1455, 136,  136,  0,
                    1466, 138,  138,  0,
                    1497, 139,  139,  0,
                    1523, 781,  380,  4,
                    1527, 782,  381,  4,
                    1537, 783,  382,  4,
                    1539, 784,  383,  4,
                    1541, 781,  380,  4,
                    1546, 785,  384,  4,
                    1550, 786,  67,   5,
                    1559, 140,  140,  0,
                    1566, 141,  141,  0,
                    1573, 142,  142,  0,
                    1578, 143,  143,  0,
                    1594, 144,  144,  0,
                    1623, 787,  1547, 1,
                    1649, 788,  1618, 1,
                    1677, 789,  1619, 1,
                    1691, 144,  144,  0,
                    1716, 790,  1620, 1,
                    1721, 787,  1547, 1,
                    1738, 145,  145,  0,
                    1760, 141,  141,  0,
                    1763, 140,  140,  0,
                    1772, 148,  148,  0,
                    1775, 791,  68,   5,
                    1780, 785,  384,  4,
                    1784, 139,  139,  0,
                    1787, 149,  149,  0,
                    1791, 113,  113,  0,
                    1798, 151,  151,  0,
                ),
                localVariableTable = intArrayOf(
                    67,   8,    11,   0,
                    64,   11,   10,   1,
                    57,   31,   9,    2,
                    29,   64,   7,    3,
                    26,   67,   5,    4,
                    26,   67,   6,    5,
                    11,   86,   4,    6,
                    8,    89,   3,    7,
                    214,  11,   14,   8,
                    211,  14,   13,   9,
                    204,  46,   12,   10,
                    170,  100,  8,    11,
                    173,  97,   9,    12,
                    176,  94,   10,   13,
                    167,  103,  7,    14,
                    334,  35,   15,   15,
                    331,  38,   14,   9,
                    324,  70,   13,   10,
                    290,  124,  9,    11,
                    293,  121,  10,   12,
                    296,  118,  11,   13,
                    287,  127,  8,    14,
                    526,  11,   18,   16,
                    523,  14,   17,   9,
                    516,  46,   16,   10,
                    482,  100,  12,   11,
                    485,  97,   13,   12,
                    488,  94,   14,   13,
                    479,  103,  11,   14,
                    701,  52,   24,   17,
                    713,  40,   25,   18,
                    698,  55,   23,   19,
                    698,  55,   22,   20,
                    668,  94,   20,   21,
                    637,  130,  17,   22,
                    640,  127,  18,   23,
                    634,  133,  15,   24,
                    634,  133,  16,   5,
                    611,  160,  14,   25,
                    608,  163,  12,   26,
                    864,  67,   19,   27,
                    861,  70,   18,   28,
                    857,  81,   17,   29,
                    854,  84,   16,   30,
                    845,  95,   15,   31,
                    842,  98,   13,   32,
                    1092, 24,   30,   33,
                    1089, 27,   29,   34,
                    1064, 59,   27,   35,
                    1061, 62,   25,   36,
                    1050, 82,   24,   21,
                    1022, 115,  22,   37,
                    1019, 118,  20,   38,
                    1019, 118,  21,   5,
                    996,  145,  19,   39,
                    993,  148,  17,   40,
                    1254, 32,   30,   41,
                    1251, 35,   29,   19,
                    1251, 35,   28,   42,
                    1221, 74,   25,   21,
                    1190, 110,  22,   22,
                    1193, 107,  23,   23,
                    1187, 113,  20,   24,
                    1187, 113,  21,   5,
                    1164, 140,  19,   25,
                    1161, 143,  17,   26,
                    1346, 45,   22,   43,
                    1343, 48,   21,   44,
                    1335, 83,   20,   45,
                    1332, 86,   19,   46,
                    1323, 97,   17,   47,
                    1691, 13,   44,   48,
                    1688, 16,   42,   49,
                    1677, 36,   41,   21,
                    1649, 69,   39,   37,
                    1646, 72,   37,   38,
                    1646, 72,   38,   5,
                    1623, 99,   36,   39,
                    1620, 102,  29,   40,
                    1559, 214,  28,   50,
                    1556, 217,  27,   51,
                    1550, 230,  25,   52,
                    1547, 233,  24,   53,
                    1523, 258,  23,   54,
                    1520, 261,  20,   55,
                    1520, 261,  21,   56,
                    1520, 261,  22,   57,
                    955,  833,  16,   58,
                    1466, 322,  17,   59,
                    1497, 291,  19,   60,
                    952,  836,  15,   61,
                    149,  1646, 5,    62,
                    275,  1520, 6,    63,
                    419,  1376, 7,    64,
                    445,  1350, 8,    65,
                    461,  1334, 9,    66,
                    590,  1205, 10,   67,
                    794,  1001, 11,   68,
                    806,  989,  12,   69,
                    131,  1664, 4,    70,
                    104,  1695, 2,    71,
                    0,    1799, 0,    72,
                    0,    1799, 1,    73,
                ),
                kotlinDebugSegment = intArrayOf(
                    1,   75,  0,
                    2,   75,  0,
                    4,   75,  0,
                    5,   75,  0,
                    10,  79,  0,
                    11,  79,  0,
                    12,  79,  0,
                    13,  79,  0,
                    15,  79,  0,
                    16,  79,  0,
                    17,  79,  0,
                    18,  79,  0,
                    19,  79,  0,
                    22,  83,  0,
                    23,  83,  0,
                    24,  83,  0,
                    25,  83,  0,
                    27,  83,  0,
                    28,  83,  0,
                    29,  83,  0,
                    30,  83,  0,
                    31,  83,  0,
                    38,  93,  0,
                    39,  93,  0,
                    40,  93,  0,
                    41,  93,  0,
                    43,  93,  0,
                    44,  93,  0,
                    45,  93,  0,
                    46,  93,  0,
                    47,  93,  0,
                    51,  97,  0,
                    52,  97,  0,
                    53,  97,  0,
                    54,  97,  0,
                    55,  97,  0,
                    58,  97,  0,
                    59,  97,  0,
                    65,  106, 0,
                    66,  106, 0,
                    74,  106, 0,
                    75,  106, 0,
                    76,  106, 0,
                    81,  117, 0,
                    82,  117, 0,
                    83,  117, 0,
                    90,  117, 0,
                    91,  117, 0,
                    95,  123, 0,
                    96,  123, 0,
                    97,  123, 0,
                    98,  123, 0,
                    99,  123, 0,
                    101, 123, 0,
                    102, 123, 0,
                    105, 126, 0,
                    106, 126, 0,
                    111, 126, 0,
                    112, 126, 0,
                    113, 126, 0,
                    120, 139, 0,
                    121, 139, 0,
                    122, 139, 0,
                    123, 139, 0,
                    124, 139, 0,
                    125, 139, 0,
                    126, 139, 0,
                    132, 144, 0,
                    133, 144, 0,
                    134, 144, 0,
                    136, 144, 0,
                    137, 144, 0,
                    142, 139, 0,
                    143, 139, 0,
                )
            ),
            expectation = """
                addMissingSupertypes at AbstractSuspendFunctionsLowering.kt:113 depth 0:
                  ${'$'}this${'$'}addMissingSupertypes_u24lambda_u2d12: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  clazz: Lorg/jetbrains/kotlin/ir/declarations/IrClass;
                  functionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  functionClassTypeArguments: Ljava/util/List;
                  functionSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrSimpleFunctionSymbol;
                  functionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  invokeFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  suspendFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  suspendFunctionArity: I
                  suspendFunctionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  suspendFunctionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  suspendFunctionTypes: Ljava/util/Set;
                lambda 'apply' in 'addMissingSupertypesToSuspendFunctionImplementingClasses' at AbstractSuspendFunctionsLowering.kt:117 depth 0:
                  ${'$'}this${'$'}addMissingSupertypes_u24lambda_u2d12: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  clazz: Lorg/jetbrains/kotlin/ir/declarations/IrClass;
                  functionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  functionClassTypeArguments: Ljava/util/List;
                  functionSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrSimpleFunctionSymbol;
                  functionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  invokeFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  suspendFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  suspendFunctionArity: I
                  suspendFunctionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  suspendFunctionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  suspendFunctionTypes: Ljava/util/Set;
                map at _Collections.kt:1547 depth 1:
                  ${'$'}this${'$'}map${'$'}iv: Ljava/lang/Iterable;
                mapTo at _Collections.kt:1619 depth 2:
                  ${'$'}this${'$'}mapTo${'$'}iv${'$'}iv: Ljava/lang/Iterable;
                  destination${'$'}iv${'$'}iv: Ljava/util/Collection;
                  item${'$'}iv${'$'}iv: Ljava/lang/Object;
                lambda 'map' in 'addMissingSupertypesToSuspendFunctionImplementingClasses' at AbstractSuspendFunctionsLowering.kt:119 depth 0:
                  ${'$'}this${'$'}addMissingSupertypes_u24lambda_u2d12: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  ${'$'}this${'$'}addMissingSupertypes_u24lambda_u2d12_u24lambda_u2d7_u24lambda_u2d6: Lorg/jetbrains/kotlin/ir/declarations/IrTypeParameter;
                  clazz: Lorg/jetbrains/kotlin/ir/declarations/IrClass;
                  functionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  functionClassTypeArguments: Ljava/util/List;
                  functionSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrSimpleFunctionSymbol;
                  functionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  invokeFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  parameter: Lorg/jetbrains/kotlin/ir/declarations/IrTypeParameter;
                  suspendFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  suspendFunctionArity: I
                  suspendFunctionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  suspendFunctionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  suspendFunctionTypes: Ljava/util/Set;
                lambda 'apply' in 'addMissingSupertypesToSuspendFunctionImplementingClasses' at AbstractSuspendFunctionsLowering.kt:119 depth 0:
                  ${'$'}this${'$'}addMissingSupertypes_u24lambda_u2d12: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  ${'$'}this${'$'}addMissingSupertypes_u24lambda_u2d12_u24lambda_u2d7_u24lambda_u2d6: Lorg/jetbrains/kotlin/ir/declarations/IrTypeParameter;
                  clazz: Lorg/jetbrains/kotlin/ir/declarations/IrClass;
                  functionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  functionClassTypeArguments: Ljava/util/List;
                  functionSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrSimpleFunctionSymbol;
                  functionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  invokeFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  parameter: Lorg/jetbrains/kotlin/ir/declarations/IrTypeParameter;
                  suspendFunction: Lorg/jetbrains/kotlin/ir/declarations/IrSimpleFunction;
                  suspendFunctionArity: I
                  suspendFunctionClassSymbol: Lorg/jetbrains/kotlin/ir/symbols/IrClassSymbol;
                  suspendFunctionType: Lorg/jetbrains/kotlin/ir/types/IrSimpleType;
                  suspendFunctionTypes: Ljava/util/Set;
            """.trimIndent()
        )
    }

    // ScriptGenerator.generateScriptDeclaration in ScriptGenerator.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/ir/ir.psi2ir/src/org/jetbrains/kotlin/psi2ir/generators/ScriptGenerator.kt#L46
    fun testScriptGeneratorGenerateScriptDeclaration() {
        doKotlinInlineStackTest(
            codeIndex = 1777, // Line 183
            methodInfo = MockMethodInfo(
                name = "generateScriptDeclaration",
                sourceNames = arrayOf(
                    "ScriptGenerator.kt",
                    "DeclarationGenerator.kt",
                    "SymbolTable.kt",
                    "_Collections.kt",
                    "fake.kt",
                    "IrElement.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/psi2ir/generators/ScriptGenerator",
                    "org/jetbrains/kotlin/psi2ir/generators/DeclarationGeneratorExtension",
                    "org/jetbrains/kotlin/ir/util/SymbolTableKt",
                    "kotlin/collections/CollectionsKt___CollectionsKt",
                    "kotlin/jvm/internal/FakeKt",
                    "org/jetbrains/kotlin/ir/IrElementKt"
                ),
                variableNames = arrayOf(
                    "element\$iv:Ljava/lang/Object;",
                    "\$i\$f\$filterIsInstanceTo:I",
                    "\$this\$filterIsInstanceTo\$iv:Ljava/lang/Iterable;",
                    "destination\$iv:Ljava/util/Collection;",
                    "\$i\$a\$-filter-ScriptGenerator\$generateScriptDeclaration\$1\$1:I",
                    "it:Lorg/jetbrains/kotlin/ir/symbols/IrScriptSymbol;",
                    "element\$iv\$iv:Ljava/lang/Object;",
                    "\$i\$f\$filterTo:I",
                    "\$this\$filterTo\$iv\$iv:Ljava/lang/Iterable;",
                    "destination\$iv\$iv:Ljava/util/Collection;",
                    "\$i\$f\$filter:I",
                    "\$this\$filter\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-forEach-ScriptGenerator\$generateScriptDeclaration\$1\$2:I",
                    "\$i\$f\$forEach:I",
                    "\$this\$forEach\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-let-ScriptGenerator\$generateScriptDeclaration\$1\$3:I",
                    "p0:Lorg/jetbrains/kotlin/descriptors/ValueParameterDescriptor;",
                    "\$i\$a\$-map-ScriptGenerator\$generateScriptDeclaration\$1\$4:I",
                    "item\$iv\$iv:Ljava/lang/Object;",
                    "\$i\$f\$mapTo:I",
                    "\$this\$mapTo\$iv\$iv:Ljava/lang/Iterable;",
                    "\$i\$f\$map:I",
                    "\$this\$map\$iv:Ljava/lang/Iterable;",
                    "\$i\$a\$-map-ScriptGenerator\$generateScriptDeclaration\$1\$5:I",
                    "it:Lorg/jetbrains/kotlin/descriptors/ClassDescriptor;",
                    "\$i\$a\$-map-ScriptGenerator\$generateScriptDeclaration\$1\$6:I",
                    "providedProperty:Lorg/jetbrains/kotlin/descriptors/PropertyDescriptor;",
                    "parameter:Lorg/jetbrains/kotlin/descriptors/ValueParameterDescriptor;",
                    "type:Lorg/jetbrains/kotlin/ir/types/IrType;",
                    "valueParameter:Lorg/jetbrains/kotlin/ir/declarations/IrValueParameter;",
                    "irProperty:Lorg/jetbrains/kotlin/ir/declarations/IrProperty;",
                    "\$i\$a\$-apply-ScriptGenerator\$generateScriptDeclaration\$1\$7:I",
                    "\$this\$generateScriptDeclaration_u24lambda_u2d15_u24lambda_u2d7:Lorg/jetbrains/kotlin/ir/builders/declarations/IrFunctionBuilder;",
                    "\$i\$a\$-with-ScriptGenerator\$generateScriptDeclaration\$1\$8:I",
                    "\$this\$generateScriptDeclaration_u24lambda_u2d15_u24lambda_u2d8:Lorg/jetbrains/kotlin/ir/builders/declarations/IrFunctionBuilder;",
                    "\$i\$a\$-forEach-ScriptGenerator\$generateScriptDeclaration\$1\$9\$1\$1:I",
                    "it:Lkotlin/Pair;",
                    "\$i\$a\$-buildList-ScriptGenerator\$generateScriptDeclaration\$1\$9\$1:I",
                    "\$this\$generateScriptDeclaration_u24lambda_u2d15_u24lambda_u2d11_u24lambda_u2d10:Ljava/util/List;",
                    "\$i\$a\$-also-ScriptGenerator\$generateScriptDeclaration\$1\$9:I",
                    "irConstructor:Lorg/jetbrains/kotlin/ir/declarations/IrConstructor;",
                    "\$i\$a\$-also-ScriptGenerator\$generateScriptDeclaration\$1\$10\$2:I",
                    "it:Lorg/jetbrains/kotlin/ir/declarations/IrProperty;",
                    "\$i\$a\$-let-ScriptGenerator\$generateScriptDeclaration\$1\$10:I",
                    "resultDescriptor:Lorg/jetbrains/kotlin/descriptors/PropertyDescriptor;",
                    "irExpressionBody:Lorg/jetbrains/kotlin/ir/expressions/IrExpressionBody;",
                    "\$i\$f\$assertCast:I",
                    "\$this\$assertCast\$iv:Lorg/jetbrains/kotlin/ir/IrElement;",
                    "\$i\$a\$-apply-ScriptGenerator\$generateScriptDeclaration\$1\$irComponentInitializer\$1:I",
                    "\$this\$generateScriptDeclaration_u24lambda_u2d15_u24lambda_u2d14:Lorg/jetbrains/kotlin/ir/expressions/impl/IrSetFieldImpl;",
                    "componentResolvedCall:Lorg/jetbrains/kotlin/resolve/calls/model/ResolvedCall;",
                    "componentSubstitutedCall:Lorg/jetbrains/kotlin/psi2ir/intermediate/CallBuilder;",
                    "componentVariable:Lorg/jetbrains/kotlin/descriptors/VariableDescriptor;",
                    "irComponentCall:Lorg/jetbrains/kotlin/ir/expressions/IrExpression;",
                    "irComponentProperty:Lorg/jetbrains/kotlin/ir/declarations/IrProperty;",
                    "irComponentBackingField:Lorg/jetbrains/kotlin/ir/declarations/IrField;",
                    "irComponentInitializer:Lorg/jetbrains/kotlin/ir/expressions/impl/IrSetFieldImpl;",
                    "index:I",
                    "ktEntry:Lorg/jetbrains/kotlin/psi/KtDestructuringDeclarationEntry;",
                    "bodyGenerator:Lorg/jetbrains/kotlin/psi2ir/generators/BodyGenerator;",
                    "statementGenerator:Lorg/jetbrains/kotlin/psi2ir/generators/StatementGenerator;",
                    "irBlock:Lorg/jetbrains/kotlin/ir/expressions/impl/IrCompositeImpl;",
                    "ktInitializer:Lorg/jetbrains/kotlin/psi/KtExpression;",
                    "initializerExpr:Lorg/jetbrains/kotlin/ir/expressions/IrExpression;",
                    "containerValue:Lorg/jetbrains/kotlin/psi2ir/intermediate/IntermediateValue;",
                    "callGenerator:Lorg/jetbrains/kotlin/psi2ir/generators/CallGenerator;",
                    "d:Lorg/jetbrains/kotlin/psi/KtDeclaration;",
                    "\$i\$a\$-buildWithScope-ScriptGenerator\$generateScriptDeclaration\$1:I",
                    "importedScripts:Ljava/util/HashSet;",
                    "parametersIndex:Lkotlin/jvm/internal/Ref\$IntRef;",
                    "irScript:Lorg/jetbrains/kotlin/ir/declarations/IrScript;",
                    "\$i\$a\$-withScope-DeclarationGeneratorExtension\$buildWithScope\$1\$1\$iv:I",
                    "\$this\$buildWithScope_u24lambda_u2d1_u24lambda_u2d0\$iv:Lorg/jetbrains/kotlin/ir/util/SymbolTable;",
                    "\$i\$f\$withScope:I",
                    "result\$iv\$iv:Ljava/lang/Object;",
                    "\$this\$withScope\$iv\$iv:Lorg/jetbrains/kotlin/ir/util/SymbolTable;",
                    "\$i\$a\$-also-DeclarationGeneratorExtension\$buildWithScope\$1\$iv:I",
                    "irDeclaration\$iv:Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;",
                    "\$i\$f\$buildWithScope:I",
                    "this_\$iv:Lorg/jetbrains/kotlin/psi2ir/generators/DeclarationGeneratorExtension;",
                    "\$this\$buildWithScope\$iv:Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;",
                    "descriptor:Lorg/jetbrains/kotlin/descriptors/ScriptDescriptor;",
                    "this:Lorg/jetbrains/kotlin/psi2ir/generators/ScriptGenerator;",
                    "ktScript:Lorg/jetbrains/kotlin/psi/KtScript;"
                ),
                allLineLocations = intArrayOf(
                    6,    46,   46,   0,
                    42,   48,   48,   0,
                    69,   260,  201,  1,
                    80,   261,  202,  1,
                    92,   262,  1091, 2,
                    99,   263,  1092, 2,
                    106,  264,  203,  1,
                    116,  50,   50,   0,
                    132,  52,   52,   0,
                    164,  265,  807,  3,
                    213,  266,  808,  3,
                    215,  52,   52,   0,
                    220,  74,   74,   0,
                    256,  76,   76,   0,
                    297,  82,   82,   0,
                    306,  84,   84,   0,
                    332,  267,  764,  3,
                    351,  268,  855,  3,
                    389,  86,   86,   0,
                    440,  269,  856,  3,
                    445,  267,  764,  3,
                    452,  84,   84,   0,
                    457,  88,   88,   0,
                    474,  270,  1849, 3,
                    512,  89,   89,   0,
                    535,  90,   90,   0,
                    539,  271,  1850, 3,
                    546,  88,   88,   0,
                    549,  103,  103,  0,
                    574,  272,  1,    4,
                    579,  103,  103,  0,
                    592,  103,  103,  0,
                    595,  103,  103,  0,
                    600,  105,  105,  0,
                    624,  273,  1547, 3,
                    650,  274,  1618, 3,
                    678,  275,  1619, 3,
                    692,  105,  105,  0,
                    714,  276,  1620, 3,
                    719,  273,  1547, 3,
                    723,  105,  105,  0,
                    726,  107,  107,  0,
                    750,  277,  1547, 3,
                    776,  278,  1618, 3,
                    804,  279,  1619, 3,
                    818,  108,  108,  0,
                    877,  280,  1620, 3,
                    882,  277,  1547, 3,
                    886,  107,  107,  0,
                    889,  111,  111,  0,
                    931,  112,  112,  0,
                    936,  281,  1547, 3,
                    962,  282,  1618, 3,
                    990,  283,  1619, 3,
                    1004, 112,  112,  0,
                    1024, 115,  115,  0,
                    1044, 116,  116,  0,
                    1051, 117,  117,  0,
                    1053, 118,  118,  0,
                    1074, 116,  116,  0,
                    1105, 126,  126,  0,
                    1121, 128,  128,  0,
                    1132, 129,  129,  0,
                    1136, 130,  130,  0,
                    1146, 131,  131,  0,
                    1148, 132,  132,  0,
                    1149, 128,  128,  0,
                    1152, 127,  127,  0,
                    1154, 134,  134,  0,
                    1165, 135,  135,  0,
                    1181, 136,  136,  0,
                    1203, 284,  1620, 3,
                    1208, 281,  1547, 3,
                    1212, 111,  111,  0,
                    1215, 139,  139,  0,
                    1235, 140,  140,  0,
                    1241, 141,  141,  0,
                    1260, 142,  142,  0,
                    1266, 139,  139,  0,
                    1269, 139,  139,  0,
                    1276, 143,  143,  0,
                    1281, 144,  144,  0,
                    1296, 145,  145,  0,
                    1319, 146,  146,  0,
                    1322, 147,  147,  0,
                    1332, 148,  148,  0,
                    1352, 149,  149,  0,
                    1357, 143,  143,  0,
                    1365, 139,  139,  0,
                    1367, 151,  151,  0,
                    1376, 152,  152,  0,
                    1392, 153,  153,  0,
                    1405, 154,  154,  0,
                    1421, 155,  155,  0,
                    1437, 156,  156,  0,
                    1450, 285,  1849, 3,
                    1488, 156,  156,  0,
                    1504, 286,  1850, 3,
                    1505, 157,  157,  0,
                    1511, 152,  152,  0,
                    1517, 152,  152,  0,
                    1520, 158,  158,  0,
                    1530, 159,  159,  0,
                    1561, 160,  160,  0,
                    1567, 151,  151,  0,
                    1570, 139,  139,  0,
                    1573, 162,  162,  0,
                    1606, 163,  163,  0,
                    1610, 164,  164,  0,
                    1618, 165,  165,  0,
                    1622, 166,  166,  0,
                    1630, 167,  167,  0,
                    1634, 165,  165,  0,
                    1637, 168,  168,  0,
                    1652, 165,  165,  0,
                    1654, 169,  169,  0,
                    1685, 170,  170,  0,
                    1700, 171,  171,  0,
                    1711, 173,  173,  0,
                    1715, 174,  174,  0,
                    1725, 175,  175,  0,
                    1726, 172,  172,  0,
                    1743, 180,  180,  0,
                    1750, 181,  181,  0,
                    1761, 182,  182,  0,
                    1777, 183,  183,  0,
                    1787, 184,  184,  0,
                    1791, 180,  180,  0,
                    1794, 180,  180,  0,
                    1795, 170,  170,  0,
                    1799, 187,  187,  0,
                    1821, 190,  190,  0,
                    1829, 193,  193,  0,
                    1850, 194,  194,  0,
                    1857, 195,  195,  0,
                    1861, 196,  196,  0,
                    1885, 197,  197,  0,
                    1901, 195,  195,  0,
                    1906, 199,  199,  0,
                    1920, 200,  200,  0,
                    1947, 287,  43,   5,
                    2009, 200,  200,  0,
                    2014, 202,  202,  0,
                    2039, 201,  201,  0,
                    2041, 204,  204,  0,
                    2052, 206,  206,  0,
                    2102, 207,  207,  0,
                    2129, 209,  209,  0,
                    2146, 210,  210,  0,
                    2153, 212,  212,  0,
                    2180, 215,  215,  0,
                    2215, 217,  217,  0,
                    2217, 218,  218,  0,
                    2235, 219,  219,  0,
                    2248, 217,  217,  0,
                    2253, 223,  223,  0,
                    2264, 224,  224,  0,
                    2266, 223,  223,  0,
                    2269, 222,  222,  0,
                    2271, 226,  226,  0,
                    2282, 228,  228,  0,
                    2298, 230,  230,  0,
                    2302, 231,  231,  0,
                    2318, 232,  232,  0,
                    2323, 233,  233,  0,
                    2333, 234,  234,  0,
                    2335, 230,  230,  0,
                    2340, 235,  235,  0,
                    2347, 236,  236,  0,
                    2354, 237,  237,  0,
                    2360, 238,  238,  0,
                    2387, 237,  237,  0,
                    2400, 240,  240,  0,
                    2404, 235,  235,  0,
                    2407, 235,  235,  0,
                    2407, 230,  230,  0,
                    2409, 241,  241,  0,
                    2425, 243,  243,  0,
                    2444, 245,  245,  0,
                    2482, 248,  248,  0,
                    2483, 288,  204,  1,
                    2489, 289,  1093, 2,
                    2496, 290,  1094, 2,
                    2499, 291,  205,  1,
                    2503, 260,  201,  1,
                    2506, 291,  205,  1,
                    2507, 48,   48,   0,
                ),
                localVariableTable = intArrayOf(
                    192,  18,   19,   0,
                    164,  51,   17,   1,
                    161,  54,   15,   2,
                    161,  54,   16,   3,
                    389,  35,   27,   4,
                    386,  38,   26,   5,
                    379,  58,   25,   6,
                    351,  91,   23,   7,
                    348,  94,   19,   8,
                    348,  94,   22,   9,
                    332,  114,  18,   10,
                    329,  117,  17,   11,
                    512,  24,   24,   12,
                    509,  27,   23,   5,
                    502,  34,   22,   0,
                    474,  66,   18,   13,
                    471,  69,   17,   14,
                    579,  10,   19,   15,
                    576,  13,   18,   16,
                    692,  10,   26,   17,
                    689,  13,   25,   16,
                    678,  33,   24,   18,
                    650,  66,   22,   19,
                    647,  69,   18,   20,
                    647,  69,   19,   9,
                    624,  96,   17,   21,
                    621,  99,   16,   22,
                    818,  47,   26,   23,
                    815,  50,   25,   24,
                    804,  70,   24,   18,
                    776,  103,  22,   19,
                    773,  106,  18,   20,
                    773,  106,  19,   9,
                    750,  133,  17,   21,
                    747,  136,  16,   22,
                    1004, 187,  26,   25,
                    1014, 177,  27,   26,
                    1024, 167,  29,   27,
                    1044, 147,  30,   28,
                    1105, 86,   31,   29,
                    1154, 37,   32,   30,
                    990,  210,  24,   18,
                    962,  243,  22,   19,
                    959,  246,  18,   20,
                    959,  246,  19,   9,
                    936,  273,  17,   21,
                    933,  276,  16,   22,
                    1235, 26,   18,   31,
                    1232, 29,   17,   32,
                    1276, 86,   18,   33,
                    1273, 89,   17,   34,
                    1488, 13,   31,   35,
                    1485, 16,   30,   36,
                    1478, 23,   29,   0,
                    1450, 55,   26,   13,
                    1447, 58,   25,   14,
                    1392, 114,  24,   37,
                    1389, 117,  22,   38,
                    1376, 186,  18,   39,
                    1373, 189,  17,   40,
                    1750, 38,   27,   41,
                    1747, 41,   26,   42,
                    1700, 95,   24,   43,
                    1697, 98,   23,   44,
                    1654, 164,  19,   45,
                    1947, 62,   27,   46,
                    1944, 65,   26,   47,
                    2347, 54,   41,   48,
                    2344, 57,   40,   49,
                    2129, 293,  33,   50,
                    2146, 276,  34,   51,
                    2180, 242,  35,   52,
                    2253, 169,  36,   53,
                    2271, 151,  37,   54,
                    2282, 140,  38,   55,
                    2409, 13,   42,   56,
                    2084, 341,  31,   57,
                    2102, 323,  32,   58,
                    1850, 591,  19,   59,
                    1857, 584,  22,   60,
                    1906, 535,  23,   61,
                    1920, 521,  24,   62,
                    2014, 427,  25,   63,
                    2041, 400,  26,   64,
                    2052, 389,  27,   65,
                    1606, 873,  17,   66,
                    116,  2367, 14,   67,
                    220,  2263, 20,   68,
                    306,  2177, 15,   69,
                    113,  2370, 13,   70,
                    106,  2378, 12,   71,
                    103,  2381, 11,   72,
                    92,   2406, 10,   73,
                    2489, 9,    43,   74,
                    89,   2409, 9,    75,
                    80,   2420, 8,    76,
                    77,   2423, 7,    77,
                    69,   2438, 5,    78,
                    66,   2441, 3,    79,
                    66,   2441, 4,    80,
                    42,   2466, 2,    81,
                    0,    2508, 0,    82,
                    0,    2508, 1,    83,
                ),
                kotlinDebugSegment = intArrayOf(
                    2,   48,  0,
                    3,   48,  0,
                    4,   48,  0,
                    5,   48,  0,
                    6,   48,  0,
                    9,   52,  0,
                    10,  52,  0,
                    16,  84,  0,
                    17,  84,  0,
                    19,  84,  0,
                    20,  84,  0,
                    23,  88,  0,
                    26,  88,  0,
                    34,  105, 0,
                    35,  105, 0,
                    36,  105, 0,
                    38,  105, 0,
                    39,  105, 0,
                    42,  107, 0,
                    43,  107, 0,
                    44,  107, 0,
                    46,  107, 0,
                    47,  107, 0,
                    51,  112, 0,
                    52,  112, 0,
                    53,  112, 0,
                    71,  112, 0,
                    72,  112, 0,
                    95,  156, 0,
                    97,  156, 0,
                    140, 200, 0,
                    180, 48,  0,
                    181, 48,  0,
                    182, 48,  0,
                    183, 48,  0,
                    184, 48,  0,
                    185, 48,  0,
                )
            ),
            expectation = """
                generateScriptDeclaration at ScriptGenerator.kt:48 depth 0:
                  descriptor: Lorg/jetbrains/kotlin/descriptors/ScriptDescriptor;
                  ktScript: Lorg/jetbrains/kotlin/psi/KtScript;
                buildWithScope at DeclarationGenerator.kt:201 depth 1:
                  ${'$'}this${'$'}buildWithScope${'$'}iv: Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;
                  irDeclaration${'$'}iv: Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;
                  this_${'$'}iv: Lorg/jetbrains/kotlin/psi2ir/generators/DeclarationGeneratorExtension;
                lambda 'also' in 'buildWithScope' at DeclarationGenerator.kt:202 depth 1:
                  ${'$'}this${'$'}buildWithScope${'$'}iv: Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;
                  irDeclaration${'$'}iv: Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;
                  this_${'$'}iv: Lorg/jetbrains/kotlin/psi2ir/generators/DeclarationGeneratorExtension;
                withScope at SymbolTable.kt:1092 depth 2:
                  ${'$'}this${'$'}withScope${'$'}iv${'$'}iv: Lorg/jetbrains/kotlin/ir/util/SymbolTable;
                lambda 'withScope' in 'buildWithScope' at DeclarationGenerator.kt:203 depth 1:
                  ${'$'}this${'$'}buildWithScope${'$'}iv: Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;
                  ${'$'}this${'$'}buildWithScope_u24lambda_u2d1_u24lambda_u2d0${'$'}iv: Lorg/jetbrains/kotlin/ir/util/SymbolTable;
                  irDeclaration${'$'}iv: Lorg/jetbrains/kotlin/ir/declarations/IrDeclaration;
                  this_${'$'}iv: Lorg/jetbrains/kotlin/psi2ir/generators/DeclarationGeneratorExtension;
                lambda 'buildWithScope' in 'generateScriptDeclaration' at ScriptGenerator.kt:170 depth 0:
                  d: Lorg/jetbrains/kotlin/psi/KtDeclaration;
                  descriptor: Lorg/jetbrains/kotlin/descriptors/ScriptDescriptor;
                  importedScripts: Ljava/util/HashSet;
                  irExpressionBody: Lorg/jetbrains/kotlin/ir/expressions/IrExpressionBody;
                  irScript: Lorg/jetbrains/kotlin/ir/declarations/IrScript;
                  ktScript: Lorg/jetbrains/kotlin/psi/KtScript;
                  parametersIndex: Lkotlin/jvm/internal/Ref${'$'}IntRef;
                  resultDescriptor: Lorg/jetbrains/kotlin/descriptors/PropertyDescriptor;
                lambda 'let' in 'generateScriptDeclaration' at ScriptGenerator.kt:180 depth 0:
                  d: Lorg/jetbrains/kotlin/psi/KtDeclaration;
                  descriptor: Lorg/jetbrains/kotlin/descriptors/ScriptDescriptor;
                  importedScripts: Ljava/util/HashSet;
                  irExpressionBody: Lorg/jetbrains/kotlin/ir/expressions/IrExpressionBody;
                  irScript: Lorg/jetbrains/kotlin/ir/declarations/IrScript;
                  it: Lorg/jetbrains/kotlin/ir/declarations/IrProperty;
                  ktScript: Lorg/jetbrains/kotlin/psi/KtScript;
                  parametersIndex: Lkotlin/jvm/internal/Ref${'$'}IntRef;
                  resultDescriptor: Lorg/jetbrains/kotlin/descriptors/PropertyDescriptor;
                lambda 'also' in 'generateScriptDeclaration' at ScriptGenerator.kt:183 depth 0:
                  d: Lorg/jetbrains/kotlin/psi/KtDeclaration;
                  descriptor: Lorg/jetbrains/kotlin/descriptors/ScriptDescriptor;
                  importedScripts: Ljava/util/HashSet;
                  irExpressionBody: Lorg/jetbrains/kotlin/ir/expressions/IrExpressionBody;
                  irScript: Lorg/jetbrains/kotlin/ir/declarations/IrScript;
                  it: Lorg/jetbrains/kotlin/ir/declarations/IrProperty;
                  ktScript: Lorg/jetbrains/kotlin/psi/KtScript;
                  parametersIndex: Lkotlin/jvm/internal/Ref${'$'}IntRef;
                  resultDescriptor: Lorg/jetbrains/kotlin/descriptors/PropertyDescriptor;
            """.trimIndent()
        )
    }

    // TopDownAnalyzerFacadeForJVM.createContainer in TopDownAnalyzerFacadeForJVM.kt
    // https://github.com/JetBrains/kotlin/blob/ed3967eb585b63acdc7339726908bc0f2e6d8101/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM.kt#L153
    //
    // This test contains a function with many local variables and short inline calls.
    // For some reason it does not contain a KotlinDebug segment, but we should still
    // be able to produce proper call locations in this case.
    fun testTopDownAnalyzerFacadeForJVMCreateContainer() {
        doKotlinInlineStackTest(
            codeIndex = 1752, // Line 37 in Dsl.kt
            methodInfo = MockMethodInfo(
                name = "createContainer",
                sourceNames = arrayOf(
                    "TopDownAnalyzerFacadeForJVM.kt",
                    "_Collections.kt",
                    "Dsl.kt",
                    "fake.kt"
                ),
                sourcePaths = arrayOf(
                    "org/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM",
                    "kotlin/collections/CollectionsKt___CollectionsKt",
                    "org/jetbrains/kotlin/container/DslKt",
                    "kotlin/jvm/internal/FakeKt"
                ),
                variableNames = arrayOf(
                    "p1:Lorg/jetbrains/kotlin/modules/Module;",
                    "\$i\$a\$-unknown-TopDownAnalyzerFacadeForJVM\$createContainer\$targetIds\$1:I",
                    "item\$iv\$iv:Ljava/lang/Object;",
                    "\$i\$f\$mapTo:I",
                    "\$this\$mapTo\$iv\$iv:Ljava/lang/Iterable;",
                    "destination\$iv\$iv:Ljava/util/Collection;",
                    "\$i\$f\$map:I",
                    "\$this\$map\$iv:Ljava/lang/Iterable;",
                    "\$this\$apply:Lorg/jetbrains/kotlin/builtins/jvm/JvmBuiltIns;",
                    "\$i\$a\$-apply-TopDownAnalyzerFacadeForJVM\$createContainer\$fallbackBuiltIns\$1:I",
                    "\$i\$f\$get:I",
                    "\$this\$get\$iv:Lorg/jetbrains/kotlin/container/ComponentProvider;",
                    "dependenciesContainer:Lorg/jetbrains/kotlin/container/StorageComponentContainer;",
                    "dependencyScope:Lcom/intellij/psi/search/GlobalSearchScope;",
                    "dependenciesContext:Lorg/jetbrains/kotlin/context/MutableModuleContext;",
                    "p1:Lorg/jetbrains/kotlin/modules/TargetId;",
                    "\$i\$a\$-unknown-TopDownAnalyzerFacadeForJVM\$createContainer\$partProvider\$1\$1:I",
                    "fragment:Lorg/jetbrains/kotlin/load/kotlin/PackagePartProvider;",
                    "\$i\$a\$-let-TopDownAnalyzerFacadeForJVM\$createContainer\$partProvider\$1:I",
                    "\$this\$apply:Lorg/jetbrains/kotlin/container/StorageComponentContainer;",
                    "\$i\$a\$-apply-TopDownAnalyzerFacadeForJVM\$createContainer\$container\$1:I",
                    "targetId:Lorg/jetbrains/kotlin/modules/TargetId;",
                    "\$i\$a\$-mapTo-TopDownAnalyzerFacadeForJVM\$createContainer\$2:I",
                    "item\$iv:Ljava/lang/Object;",
                    "\$this\$mapTo\$iv:Ljava/lang/Iterable;",
                    "extension:Lorg/jetbrains/kotlin/resolve/jvm/extensions/PackageFragmentProviderExtension;",
                    "\$i\$a\$-mapNotNullTo-TopDownAnalyzerFacadeForJVM\$createContainer\$3:I",
                    "\$i\$a\$-let-CollectionsKt___CollectionsKt\$mapNotNullTo\$1\$1\$iv:I",
                    "it\$iv:Ljava/lang/Object;",
                    "\$i\$a\$-forEach-CollectionsKt___CollectionsKt\$mapNotNullTo\$1\$iv:I",
                    "element\$iv:Ljava/lang/Object;",
                    "element\$iv\$iv:Ljava/lang/Object;",
                    "\$i\$f\$forEach:I",
                    "\$this\$forEach\$iv\$iv:Ljava/lang/Iterable;",
                    "\$i\$f\$mapNotNullTo:I",
                    "\$this\$mapNotNullTo\$iv:Ljava/lang/Iterable;",
                    "it:Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;",
                    "\$i\$a\$-let-TopDownAnalyzerFacadeForJVM\$createContainer\$dependencies\$1\$1:I",
                    "\$this\$buildList:Ljava/util/List;",
                    "\$i\$a\$-buildList-TopDownAnalyzerFacadeForJVM\$createContainer\$dependencies\$1:I",
                    "\$this\$buildSet:Ljava/util/Set;",
                    "\$i\$a\$-buildSet-TopDownAnalyzerFacadeForJVM\$createContainer\$friends\$1:I",
                    "friends:Ljava/util/Set;",
                    "dependencies:Ljava/util/List;",
                    "klibModules:Ljava/util/List;",
                    "additionalProviders:Ljava/util/ArrayList;",
                    "container:Lorg/jetbrains/kotlin/container/StorageComponentContainer;",
                    "partProvider:Lorg/jetbrains/kotlin/load/kotlin/PackagePartProvider;",
                    "dependencyModule:Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;",
                    "configureJavaClassFinder:Lkotlin/reflect/KFunction;",
                    "\$fun\$useJavac\$1:Lorg/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM\$createContainer\$1;",
                    "fallbackBuiltIns:Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;",
                    "moduleClassResolver:Lorg/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM\$SourceOrBinaryModuleClassResolver;",
                    "sourceScope:Lcom/intellij/psi/search/GlobalSearchScope;",
                    "separateModules:Z",
                    "targetIds:Ljava/util/List;",
                    "inlineConstTracker:Lorg/jetbrains/kotlin/incremental/components/InlineConstTracker;",
                    "expectActualTracker:Lorg/jetbrains/kotlin/incremental/components/ExpectActualTracker;",
                    "lookupTracker:Lorg/jetbrains/kotlin/incremental/components/LookupTracker;",
                    "incrementalComponents:Lorg/jetbrains/kotlin/load/kotlin/incremental/components/IncrementalCompilationComponents;",
                    "module:Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;",
                    "storageManager:Lorg/jetbrains/kotlin/storage/StorageManager;",
                    "moduleContext:Lorg/jetbrains/kotlin/context/MutableModuleContext;",
                    "jvmPlatform:Lorg/jetbrains/kotlin/platform/TargetPlatform;",
                    "languageVersionSettings:Lorg/jetbrains/kotlin/config/LanguageVersionSettings;",
                    "jvmTarget:Lorg/jetbrains/kotlin/config/JvmTarget;",
                    "this:Lorg/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM;",
                    "project:Lcom/intellij/openapi/project/Project;",
                    "files:Ljava/util/Collection;",
                    "trace:Lorg/jetbrains/kotlin/resolve/BindingTrace;",
                    "configuration:Lorg/jetbrains/kotlin/config/CompilerConfiguration;",
                    "packagePartProvider:Lkotlin/jvm/functions/Function1;",
                    "declarationProviderFactory:Lkotlin/jvm/functions/Function2;",
                    "targetEnvironment:Lorg/jetbrains/kotlin/resolve/TargetEnvironment;",
                    "sourceModuleSearchScope:Lcom/intellij/psi/search/GlobalSearchScope;",
                    "klibList:Ljava/util/List;",
                    "implicitsResolutionFilter:Lorg/jetbrains/kotlin/resolve/calls/tower/ImplicitsExtensionsResolutionFilter;",
                    "explicitModuleDependencyList:Ljava/util/List;",
                    "explicitModuleFriendsList:Ljava/util/List;",
                    "moduleCapabilities:Ljava/util/Map;"
                ),
                allLineLocations = intArrayOf(
                    81,   153,  153,  0,
                    103,  154,  154,  0,
                    110,  155,  155,  0,
                    120,  157,  157,  0,
                    133,  159,  159,  0,
                    142,  160,  160,  0,
                    151,  162,  162,  0,
                    164,  163,  163,  0,
                    179,  163,  163,  0,
                    195,  164,  164,  0,
                    210,  164,  164,  0,
                    226,  165,  165,  0,
                    241,  165,  165,  0,
                    257,  166,  166,  0,
                    280,  389,  1547, 1,
                    306,  390,  1618, 1,
                    334,  391,  1619, 1,
                    350,  166,  166,  0,
                    368,  392,  1620, 1,
                    373,  389,  1547, 1,
                    379,  166,  166,  0,
                    381,  168,  168,  0,
                    399,  170,  170,  0,
                    422,  171,  171,  0,
                    433,  173,  173,  0,
                    433,  175,  175,  0,
                    433,  173,  173,  0,
                    454,  174,  174,  0,
                    476,  175,  175,  0,
                    480,  173,  173,  0,
                    493,  173,  173,  0,
                    495,  177,  177,  0,
                    500,  184,  184,  0,
                    500,  185,  185,  0,
                    517,  186,  186,  0,
                    521,  185,  185,  0,
                    521,  184,  184,  0,
                    523,  188,  188,  0,
                    528,  189,  189,  0,
                    528,  190,  190,  0,
                    578,  191,  191,  0,
                    589,  189,  189,  0,
                    594,  195,  195,  0,
                    608,  197,  197,  0,
                    608,  198,  198,  0,
                    610,  199,  199,  0,
                    633,  200,  200,  0,
                    641,  201,  201,  0,
                    655,  202,  202,  0,
                    656,  203,  203,  0,
                    662,  204,  204,  0,
                    669,  197,  197,  0,
                    674,  207,  207,  0,
                    686,  393,  37,   2,
                    700,  209,  209,  0,
                    729,  210,  210,  0,
                    731,  211,  211,  0,
                    735,  212,  212,  0,
                    740,  213,  213,  0,
                    754,  214,  214,  0,
                    765,  394,  37,   2,
                    778,  215,  215,  0,
                    789,  395,  37,   2,
                    801,  212,  212,  0,
                    804,  217,  217,  0,
                    830,  211,  211,  0,
                    836,  210,  210,  0,
                    841,  220,  220,  0,
                    851,  221,  221,  0,
                    852,  188,  188,  0,
                    854,  223,  223,  0,
                    875,  224,  224,  0,
                    890,  225,  225,  0,
                    908,  396,  1547, 1,
                    934,  397,  1618, 1,
                    962,  398,  1619, 1,
                    980,  225,  225,  0,
                    1000, 399,  1620, 1,
                    1005, 396,  1547, 1,
                    1012, 225,  225,  0,
                    1030, 224,  224,  0,
                    1031, 223,  223,  0,
                    1032, 223,  223,  0,
                    1034, 232,  232,  0,
                    1034, 241,  241,  0,
                    1034, 232,  232,  0,
                    1034, 233,  233,  0,
                    1036, 234,  234,  0,
                    1062, 235,  235,  0,
                    1070, 236,  236,  0,
                    1074, 237,  237,  0,
                    1075, 238,  238,  0,
                    1080, 239,  239,  0,
                    1091, 240,  240,  0,
                    1098, 232,  232,  0,
                    1103, 241,  241,  0,
                    1110, 242,  242,  0,
                    1118, 243,  243,  0,
                    1146, 400,  37,   2,
                    1164, 244,  244,  0,
                    1168, 241,  241,  0,
                    1171, 232,  232,  0,
                    1173, 246,  246,  0,
                    1185, 401,  37,   2,
                    1199, 247,  247,  0,
                    1208, 249,  249,  0,
                    1213, 250,  250,  0,
                    1227, 402,  1618, 1,
                    1255, 403,  1619, 1,
                    1272, 251,  251,  0,
                    1276, 252,  252,  0,
                    1294, 404,  37,   2,
                    1308, 253,  253,  0,
                    1329, 405,  37,   2,
                    1340, 251,  251,  0,
                    1358, 406,  1620, 1,
                    1372, 258,  258,  0,
                    1384, 407,  37,   2,
                    1398, 258,  258,  0,
                    1402, 261,  261,  0,
                    1417, 408,  1609, 1,
                    1424, 409,  1849, 1,
                    1459, 408,  1609, 1,
                    1469, 262,  262,  0,
                    1498, 410,  1,    3,
                    1501, 408,  1609, 1,
                    1514, 408,  1609, 1,
                    1517, 408,  1609, 1,
                    1521, 411,  1850, 1,
                    1522, 412,  1610, 1,
                    1528, 265,  265,  0,
                    1537, 268,  268,  0,
                    1549, 269,  269,  0,
                    1559, 270,  270,  0,
                    1571, 387,  1,    3,
                    1574, 270,  270,  0,
                    1586, 270,  270,  0,
                    1592, 271,  271,  0,
                    1602, 272,  272,  0,
                    1615, 273,  273,  0,
                    1615, 274,  274,  0,
                    1628, 275,  275,  0,
                    1632, 268,  268,  0,
                    1638, 268,  268,  0,
                    1640, 276,  276,  0,
                    1652, 277,  277,  0,
                    1657, 278,  278,  0,
                    1667, 280,  280,  0,
                    1680, 281,  281,  0,
                    1684, 276,  276,  0,
                    1690, 276,  276,  0,
                    1692, 282,  282,  0,
                    1694, 283,  283,  0,
                    1696, 284,  284,  0,
                    1698, 282,  282,  0,
                    1701, 286,  286,  0,
                    1703, 287,  287,  0,
                    1707, 288,  288,  0,
                    1712, 289,  289,  0,
                    1723, 413,  37,   2,
                    1741, 290,  290,  0,
                    1752, 414,  37,   2,
                    1764, 288,  288,  0,
                    1770, 291,  291,  0,
                    1778, 292,  292,  0,
                    1799, 287,  287,  0,
                    1805, 286,  286,  0,
                    1808, 296,  296,  0,
                ),
                localVariableTable = intArrayOf(
                    345,  8,    32,   0,
                    348,  5,    33,   1,
                    334,  31,   31,   2,
                    306,  64,   29,   3,
                    303,  67,   27,   4,
                    303,  67,   28,   5,
                    280,  94,   26,   6,
                    277,  97,   25,   7,
                    451,  26,   30,   8,
                    454,  23,   31,   9,
                    686,  8,    36,   10,
                    683,  11,   35,   11,
                    765,  8,    36,   10,
                    762,  11,   35,   11,
                    789,  8,    36,   10,
                    786,  11,   35,   11,
                    674,  174,  34,   12,
                    608,  240,  33,   13,
                    594,  254,  32,   14,
                    973,  12,   47,   15,
                    976,  9,    49,   16,
                    962,  35,   46,   2,
                    934,  68,   44,   3,
                    931,  71,   42,   4,
                    931,  71,   43,   5,
                    908,  98,   41,   6,
                    905,  101,  36,   7,
                    872,  159,  34,   17,
                    875,  156,  35,   18,
                    1146, 8,    38,   10,
                    1143, 11,   37,   11,
                    1107, 58,   35,   19,
                    1110, 55,   36,   20,
                    1185, 8,    35,   10,
                    1182, 11,   34,   11,
                    1294, 8,    42,   10,
                    1291, 11,   41,   11,
                    1329, 8,    42,   10,
                    1326, 11,   41,   11,
                    1269, 74,   39,   21,
                    1272, 71,   40,   22,
                    1255, 100,  38,   23,
                    1227, 136,  36,   3,
                    1224, 139,  35,   24,
                    1384, 8,    36,   10,
                    1381, 11,   35,   11,
                    1466, 22,   43,   25,
                    1469, 19,   44,   26,
                    1501, 13,   47,   27,
                    1498, 16,   46,   28,
                    1459, 59,   42,   29,
                    1456, 62,   41,   30,
                    1452, 66,   40,   31,
                    1424, 98,   38,   32,
                    1421, 101,  37,   33,
                    1417, 110,  36,   34,
                    1414, 113,  35,   35,
                    1571, 12,   41,   36,
                    1574, 9,    42,   37,
                    1546, 83,   38,   38,
                    1549, 80,   39,   39,
                    1649, 32,   39,   40,
                    1652, 29,   40,   41,
                    1723, 8,    39,   10,
                    1720, 11,   38,   11,
                    1752, 8,    39,   10,
                    1749, 11,   38,   11,
                    1692, 122,  37,   42,
                    1640, 174,  36,   43,
                    1537, 277,  35,   44,
                    1208, 606,  34,   45,
                    1173, 641,  33,   46,
                    1034, 780,  32,   47,
                    854,  960,  31,   48,
                    523,  1291, 30,   49,
                    500,  1314, 29,   50,
                    495,  1319, 28,   51,
                    433,  1381, 27,   52,
                    422,  1392, 26,   53,
                    399,  1415, 25,   54,
                    381,  1433, 24,   55,
                    257,  1557, 23,   56,
                    226,  1588, 22,   57,
                    195,  1619, 21,   58,
                    164,  1650, 20,   59,
                    151,  1663, 19,   60,
                    142,  1672, 18,   61,
                    133,  1681, 17,   62,
                    120,  1694, 16,   63,
                    110,  1704, 15,   64,
                    103,  1711, 14,   65,
                    0,    1814, 0,    66,
                    0,    1814, 1,    67,
                    0,    1814, 2,    68,
                    0,    1814, 3,    69,
                    0,    1814, 4,    70,
                    0,    1814, 5,    71,
                    0,    1814, 6,    72,
                    0,    1814, 7,    73,
                    0,    1814, 8,    74,
                    0,    1814, 9,    75,
                    0,    1814, 10,   76,
                    0,    1814, 11,   77,
                    0,    1814, 12,   78,
                    0,    1814, 13,   79,
                ),
                kotlinDebugSegment = intArrayOf()
            ),
            expectation = """
                createContainer at TopDownAnalyzerFacadeForJVM.kt:290 depth 0:
                  ${'$'}fun${'$'}useJavac${'$'}1: Lorg/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM${'$'}createContainer${'$'}1;
                  additionalProviders: Ljava/util/ArrayList;
                  configuration: Lorg/jetbrains/kotlin/config/CompilerConfiguration;
                  configureJavaClassFinder: Lkotlin/reflect/KFunction;
                  container: Lorg/jetbrains/kotlin/container/StorageComponentContainer;
                  declarationProviderFactory: Lkotlin/jvm/functions/Function2;
                  dependencies: Ljava/util/List;
                  dependencyModule: Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;
                  expectActualTracker: Lorg/jetbrains/kotlin/incremental/components/ExpectActualTracker;
                  explicitModuleDependencyList: Ljava/util/List;
                  explicitModuleFriendsList: Ljava/util/List;
                  fallbackBuiltIns: Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;
                  files: Ljava/util/Collection;
                  friends: Ljava/util/Set;
                  implicitsResolutionFilter: Lorg/jetbrains/kotlin/resolve/calls/tower/ImplicitsExtensionsResolutionFilter;
                  incrementalComponents: Lorg/jetbrains/kotlin/load/kotlin/incremental/components/IncrementalCompilationComponents;
                  inlineConstTracker: Lorg/jetbrains/kotlin/incremental/components/InlineConstTracker;
                  jvmPlatform: Lorg/jetbrains/kotlin/platform/TargetPlatform;
                  jvmTarget: Lorg/jetbrains/kotlin/config/JvmTarget;
                  klibList: Ljava/util/List;
                  klibModules: Ljava/util/List;
                  languageVersionSettings: Lorg/jetbrains/kotlin/config/LanguageVersionSettings;
                  lookupTracker: Lorg/jetbrains/kotlin/incremental/components/LookupTracker;
                  module: Lorg/jetbrains/kotlin/descriptors/impl/ModuleDescriptorImpl;
                  moduleCapabilities: Ljava/util/Map;
                  moduleClassResolver: Lorg/jetbrains/kotlin/cli/jvm/compiler/TopDownAnalyzerFacadeForJVM${'$'}SourceOrBinaryModuleClassResolver;
                  moduleContext: Lorg/jetbrains/kotlin/context/MutableModuleContext;
                  packagePartProvider: Lkotlin/jvm/functions/Function1;
                  partProvider: Lorg/jetbrains/kotlin/load/kotlin/PackagePartProvider;
                  project: Lcom/intellij/openapi/project/Project;
                  separateModules: Z
                  sourceModuleSearchScope: Lcom/intellij/psi/search/GlobalSearchScope;
                  sourceScope: Lcom/intellij/psi/search/GlobalSearchScope;
                  storageManager: Lorg/jetbrains/kotlin/storage/StorageManager;
                  targetEnvironment: Lorg/jetbrains/kotlin/resolve/TargetEnvironment;
                  targetIds: Ljava/util/List;
                  trace: Lorg/jetbrains/kotlin/resolve/BindingTrace;
                get at Dsl.kt:37 depth 1:
                  ${'$'}this${'$'}get${'$'}iv: Lorg/jetbrains/kotlin/container/ComponentProvider;
            """.trimIndent()
        )
    }
}
